Войти
ПрограммированиеФорумОбщее

[Engine]Интерфейс?

Страницы: 1 2 Следующая »
#0
18:36, 18 сен. 2014

До сих пор пишу свой первый 3d движок. Довольно много чего придумал, но вот по поводу интерфейса я почему-то теряюсь.
Частью чего является реализация интерфейса (графического движка же, вроде)? Как сделать удобный механизм создания и редактирования интерфейса?  Update\Draw интерфейса стоит выполнять в отдельном потоке? 


#1
19:18, 18 сен. 2014

А как же твоя команда из TheGrayWolf и allcreater. Что они по этому поводу говорят ?
Собиритесь компашкой, купити кириешек и пива. Обсудите проблему.

#2
19:22, 18 сен. 2014

Laynos
Забей. Дорога возникает под шагами идущего. Все равно десять раз все придется переписывать по началу.

#3
21:40, 18 сен. 2014

ronniko
>Собиритесь компашкой, купити кириешек и пива. Обсудите проблему.
Лучше семак или чипсов.

+ Показать
#4
23:05, 18 сен. 2014

-Eugene-
> Забей. Дорога возникает под шагами идущего. Все равно десять раз все придется
> переписывать по началу.
Идущий может упасть в пропасть, если не будет смотреть немного вдаль.
Мне хотелось бы услышать мнения опытных разработчиков... Ну или код глянуть. Я знаю, что не всё сразу получится, но хотелось бы взглянуть на уже существующие реализации...

#5
23:25, 18 сен. 2014

Laynos
UI может быть как в сцене, так и на экране, в любом случае он плотно связан с рендером. Нужно создавать примитивы для рендера, шрифты. Желательно иметь один атлас для текстур и рендерить за один DIP.

У меня иерархия простая для UI - Screen, Dialog, Control. Последний класс базовый, поверх него пишутся сложные контроли.
Input в него не стоит напрямую подсоединять, потому что могут быть разные библиотеки для опроса разных средств ввода.

Кстати я кратенько описывал основные момент у себя на странице
http://www.gamedev.ru/pages/totem4_engine/articles/totem4_article3

#6
23:57, 18 сен. 2014

Самый универсальный интерфейс:

+ Показать

#7
0:20, 19 сен. 2014

Laynos
Я так и не понял, что ты называешь интерфейсом

#8
16:07, 19 сен. 2014

/A\
-Eugene-
имелся ввиду немного другой интерфейс... Речь идёт о игровом GUI ))
Osiris
очень полезная ссылка, спасибо!

#9
17:02, 19 сен. 2014

Laynos
В скриптах разрешаешь создавать произвольные нагромождения элементов. В общем то, все. Самый расширяемый интерфейс.

#10
23:11, 19 сен. 2014

та-аак, а что с командой? Эти люди оказались крайне неисполнительными? Так я и думал. А всё из-за того, что меня не взяли. Сейчас без эффективных менеджеров никуда!

#11
11:32, 22 сен. 2014

Laynos
> Частью чего является реализация интерфейса (графического движка же, вроде)? Как
> сделать удобный механизм создания и редактирования интерфейса?
Могу сказать, что стоит отделить менеджмент сцены (bsp, octtree, kdTree, portals) от графической подсистемы. Тогда перед рендером можно отбрасывать не только отдельные невидимые меши, но и поддеревья структур (bsp, octtree, kdTree, portal). Так как применяется обычно один вид разбиения сцены, то лучше отделить их от основного рендера.

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

#12
11:37, 22 сен. 2014

Насчет GUI - я как-то мучался. Там же возможны разные решения, универсальности здесь сложно достичь. Можно сделать дефолтный тип интерфейса отдельно (кастомно присоединяемый).

Ту же кнопку можно сделать в виде:
1) текст
2) рисованный текст
3) рамка из линий с изображением (текстом)
4) набор тайлов бэкграунда кнопки + текст
5) одна картинка
6) одна картинка бэкграунда и текст

#13
21:51, 24 фев. 2015

Год прошёл, а реализации GUI нету =(
Не понимаю как всё это сделать гибким... Ну или как подключить чужое прямо к моему движку

#14
0:40, 25 фев. 2015

Если программируете на DirectX, то есть готовый интерфейс в составе DXUT. Конечно, не идеальный, но вполне функциональный и с приемлемым дизайном. Плюс это готовый фреймворк от Microsoft.

Самому написать тоже можно, но... Там есть отдельные относительно затруднительные моменты, связанные с отрисовкой текста (шкалирование, выравнивание), программированием сложных компонентов типа текстовых полей ввода, скроллеров, которые можно сделать, но трудно сделать хорошо.

Страницы: 1 2 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.