Иконка ресурса

GExt - The GUI extension 1.4

Нет прав для скачивания
178
4
42
Quarter добавил(а) новый ресурс:

GuiLib - Проектируйте GUI на порядок проще

Давно уже была мысль сделать что-то подобное. Во многих проектах приходится делать одно и то же - так почему бы не обобщить GUI-компоненты под единым API, подумал я... И сделал.

GuiLib - это движок для создания полноценных внутриигровых интерфейсов(уровня самостоятельных программ). Он предоставляет API и основные его реализации. Больше никакого GL-кода в интерфейсах. ООПшно и сердито.

P.S. Проект GuiLib находится в стадии альфы(в основном работает, но не без багов). Кроме всего прочего, у...

Узнать больше об этом ресурсе...
 
178
4
42
Quarter обновил(а) ресурс GuiLib новой записью:

1.2.0-FINAL

GuiLib доведён до рабочего состояния. Теперь обрезка всех компонентов работает правильно, более того, её вообще можно выключить. Как и отображение самого компонента. Исправлен давний баг, связанный с фреймбуферами, когда не отображалось содержимое контейнера, который добавлен в другой контейнер. В основной API введено много вспомогательных функций, весь API, кроме адаптеров, полностью задокументирован.
  • Расширен основной API
  • Из графического конвейера убраны фреймбуферы...

Узнать больше об этом обновлении...
 

Icosider

Kotliner
Администратор
3,600
99
663
Не думаешь вынести стили в отдельный файл? К примеру, можно было бы подгружать какой-нибудь style.css и применять ко всем компонентам, а если захотел какой-то изменить, то достаточно подредактировать нужный блок в style.css
 
178
4
42
Не думаешь вынести стили в отдельный файл? К примеру, можно было бы подгружать какой-нибудь style.css и применять ко всем компонентам, а если захотел какой-то изменить, то достаточно подредактировать нужный блок в style.css
Ты про описание StyleMap не кодом, а файлом?
 
178
4
42
Я думал об этом, и да, это есть в планах. Но пока не первоочередная задача. Там нужно придумать какой-то весёлый XML-формат(как по мне, он тут подойдёт лучше) для описания этих правил сборки компонентов по текстуре. А мне пока что влом :)
 

Icosider

Kotliner
Администратор
3,600
99
663
XML в данном случаи вообще не подойдёт. Можешь глянуть .dae формат моделей, то ещё извращение. Сами файлы стилей должны быть облегчёнными по максимуму
 
178
4
42
XML в данном случаи вообще не подойдёт. Можешь глянуть .dae формат моделей, то ещё извращение. Сами файлы стилей должны быть облегчёнными по максимуму
Ладно. Ближе к делу будем смотреть, что я там брякнул. По итогу в StyleMap всё равно дофига и больше маппингов, а ведь есть ещё правила их компоновки... Действительно, придётся искать что-то вроде CSS или JSON, чтобы писать было меньше.
 
7,099
324
1,509
Еще будет круто сделать дата-генераторы как в forge: чтобы можно было описать стиль кодом и либа сгенерила css/json-представление
 

Icosider

Kotliner
Администратор
3,600
99
663
Нафиг json, лучше css внедрить

На счёт улучшения твоей либы, попробуй это всё дело переписать на новый лад, тогда портировать мод будет в разы проще и быстрей + станет более гибкой либа. Под "новый лад" имею ввиду framebuffer + shaders + vao + vbo и т.д. т.п. А так в основном это лишь обёртки получаются, который практически ничем не отличаются от майновских компонентов гуи
 
178
4
42
На счёт улучшения твоей либы, попробуй это всё дело переписать на новый лад, тогда портировать мод будет в разы проще и быстрей + станет более гибкой либа. Под "новый лад" имею ввиду framebuffer + shaders + vao + vbo и т.д. т.п. А так в основном это лишь обёртки получаются, который практически ничем не отличаются от майновских компонентов гуи
Фреймбуферы я убрал, ибо много было траблов с ними. Да и непонятно, зачем тут они, зачем vbo, когда полигонов на GUI меньше, чем на средней модели в любом моде? Да и кошерно, когда ты используешь только OpenGL 1.1. Неудобно, когда из-за того, что человек выключил VBO в настройках, у него падают интерфейсы.
Что ты там собрался портировать? Там хоть сколько-то времени займёт только GraphicsHelper... А портирование за пределами адаптеров вообще не нужно.
Обёртки обёртками, вот только во-первых почти ничего из моих компонентов в майне нет(по крайней мере на 1.12.2), во-вторых, в том, что есть, намного меньше параметров кастомизации. И да, те компоненты абсолютно не предназначены для работы хоть в какой-то системе. Возможно, моя кнопка в какой-то степени и повторяет GuiButton, но там уж точно нельзя задать действие лямбдой :)
P.S. Это я не считаю себя самым крутым, просто, честно говоря, вообще не понимаю, ЗАЧЕМ
 

Icosider

Kotliner
Администратор
3,600
99
663
Неудобно, когда из-за того, что человек выключил VBO в настройках, у него падают интерфейсы
После этой фразы не захотелось отвечать, но всё же отвечу. Если делать по уму, а не через заднее отверстие, то толку явно будет больше чем от майновской системы. На счёт VBO, его нельзя вырубить через настройку в игре;)

Что ты там собрался портировать?
У твоей системы лишь минус в том, что она зависит от майна, от его фреймбуффера, тесселятора и т.д. и т.п. Если напишешь свой пайплайн, то максимум, что у тебя будет меняться в коде мода: главный класс, открытие гуихи. Всё остальное у тебя уже будет сделано(хотя может ребинд фреймбуффера майновского нужен будет)

во-первых почти ничего из моих компонентов в майне нет(по крайней мере на 1.12.2)
Компонентов то кот наплакал :/

во-вторых, в том, что есть, намного меньше параметров кастомизации
Унаследоваться от ванильного класса, добавить больше вариантов кастомизации

но там уж точно нельзя задать действие лямбдой
Всего лишь пару правок сделать...
 
178
4
42
После этой фразы не захотелось отвечать, но всё же отвечу. Если делать по уму, а не через заднее отверстие, то толку явно будет больше чем от майновской системы. На счёт VBO, его нельзя вырубить через настройку в игре;)
Ой, я имел в виду FBO. Да, я как всегда перепутал.

У твоей системы лишь минус в том, что она зависит от майна, от его фреймбуффера, тесселятора и т.д. и т.п. Если напишешь свой пайплайн, то максимум, что у тебя будет меняться в коде мода: главный класс, открытие гуихи. Всё остальное у тебя уже будет сделано(хотя может ребинд фреймбуффера майновского нужен будет)
Повторюсь, фреймбуферов там больше нет. Забыли. Тесселятор - это уже реализация адаптеров. Я вообще не вижу смысла делать отдельный пайплайн, хотя в теории можно поставить это низкоприоритетной таской. У меня не было мысли избавляться от адаптеров в принципе, кажется, ты это имеешь в виду. Мне кажется логичным дать пользователю включить использование своего пайплайна в либу. А он у него должен быть, так как библиотека ориентирована на игры.
Компонентов то кот наплакал :/
И всё же сильно больше, чем есть в ванили. Как говорится, предлагай варианты.
 

Icosider

Kotliner
Администратор
3,600
99
663
Ой, я имел в виду FBO. Да, я как всегда перепутал.
И его тоже)))

Я вообще не вижу смысла делать отдельный пайплайн
Сделай кнопку с закруглёнными углами. Выведи текст, примерно 100 надписей(советую замерить фпс до вывода и после, удивишься). Попробуй заскейлить текст, получилось?)) До 12 пикселей получится?))) Градиентный текст? Размытие фона у гуи?(без доп. модов и использования майновских шейдеров). Думаю пока хватит😌

Как говорится, предлагай варианты.
Держи)) Список правда неполный, но это лично то, что у меня используется))
1599427493195.png
Ещё можно добавить: drag'n'drop area, музыкальный плеер(да, это тоже компонент, но в реалиях майна не особо нужен), radio/checkbox группы, file attach, tree, spoiler и так ещё до бесконечности можно
 
178
4
42
И его тоже)))


Сделай кнопку с закруглёнными углами. Выведи текст, примерно 100 надписей(советую замерить фпс до вывода и после, удивишься). Попробуй заскейлить текст, получилось?)) До 12 пикселей получится?))) Градиентный текст? Размытие фона у гуи?(без доп. модов и использования майновских шейдеров). Думаю пока хватит😌


Держи)) Список правда неполный, но это лично то, что у меня используется))
Посмотреть вложение 9953
Ещё можно добавить: drag'n'drop area, музыкальный плеер(да, это тоже компонент, но в реалиях майна не особо нужен), radio/checkbox группы, file attach, tree, spoiler и так ещё до бесконечности можно
Ну блин, такие высоты я брать не собирался))) Даже близко не стояло... Окей, спасибо за пинок :)
 

Icosider

Kotliner
Администратор
3,600
99
663
Да как ты отключишь то, что относится к OpenGL?))) Ты отключишь лишь то, что находится в самих классах майна. А твой независимый фреймбуффер никакой майн не вырубит
 
178
4
42
Да как ты отключишь то, что относится к OpenGL?))) Ты отключишь лишь то, что находится в самих классах майна. А твой независимый фреймбуффер никакой майн не вырубит
Так а я его имел в виду) Понял уже, что ты за нативку, всё, опути
 
7,099
324
1,509
Сверху