LINUX.ORG.RU

Какой GUI тулкит использует Blender?

 ,


0

2

Собственно сабж. Интересно на чем пишутся менюшки, гармошки и прочая компонентщина в Blender. Порылся по гуглу, вроде пишут, что у них все свое, но как-то закрались сомнения. Если все свое, то как это рисуется на OpenGl и навешиваются обработчики?



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

вроде пишут, что у них все свое

и я такое где-то читал.

Если все свое, то как это рисуется на OpenGl и навешиваются обработчики?

А что в этом необычного? ) Посмотри в исходниках.

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

Бардак там

Да, я начал изучать, так код интерфейса размазан по всюду, кое-где GLUI, а кое-где свои велосипеды, я думал где-то найти все отдельно красиво положенное. Поэтому собственно вопрос возник, может я не туда смотрел (

Sigrlami
() автор топика

А ты не сомневайся. Своё, самопильное.

thesis ★★★★★
()

Всё свое у них.

то как это рисуется на OpenGl и навешиваются обработчики?

А в чем проблема? Кто мешает сделать это самому?

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

Ой, ли

Дык, чего это рендерить свои кнопочки в openGL, а потом ловить координаты нажатия? Там же контролов туева хуча..

Sigrlami
() автор топика
Ответ на: Ой, ли от Sigrlami

Вам напомнить, что изначально это коммерческий проект? А там любят свое пилить, или вопросы лицензий играют роль.

anonymous
()

OpenGL там и ШГ лютое

xorik ★★★★★
()

Кстати, на этих кнопочках вполне можно было бы построить целое DE, как вышло с гимпом.

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

Это все я видел, но там самая свежая дата начало 2010, если вы посмотрите ветку 2.6 там интерфейс в разы лучше, чем в 2009, не говоря уже о темах 2003 года. Мало ли, они могла перейти на что-то общее. Видимо действительно сказалось, что начинали они еще до 2000х тогда никаких тулкитов толком не было, как заметил выше аноним.

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

Да, там по первой ссылке один человек приводил в примеры ещё Lightwave, Mirai, Nendo, Wings3d, XSI и TrueSpace - у всех свои внутренние GUI тулкиты. Та же история с навороченными CADами и DAWами, не говоря уже о 3D играх. Qt, GTK или Wx, даже будь они доступны, всё равно не стали бы использовать - они просто не подходят (довольно трудно представить себе Blender на Qt или GTK).

Кстати, если раньше классические тулкиты общались с X сервером или графической подсистемой ОС через протокол или API и отрисовка происходила на стороне сервера / ОС, то теперь есть тенденция (Wayland, например) рисовать на стороне клиента, в GTK / Qt уже есть код который занимается тем же чем все эти альтернативные внутренние графические тулкиты приложений - сам рисует средствами OpenGL.

quasimoto ★★★★
()
Ответ на: Ой, ли от Sigrlami

Это был коммерческий проект, а там это часто встречается. Да и тулкит блендера хорошо отлажен за столько лет. «Не трожь, пока работает»

Deleted
()
Ответ на: Ой, ли от Sigrlami

сказано так, как будто это сложно реализовать в принципе. это довольно тривиальная задача. написать GUI-библиотеку на opengl можно довольно быстро и довольно нетрудно сделать её хорошей и удобной в дальнейшем использовании/совершенствовании. и чему удивляться, что в проекте, в котором изначально «Гуй был свой» это решили так и оставить?

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

Дык, на словах все легко реализовать, но куда не плюнь, в каждом GUI тулките какая-то своя лажа. Просто раз такое дело, тогда можно легко реализовать тулкит на webGL и нахрена тогда всякие флешы, сильверлайты и джава эфиксы? Тогда был бы единый гуй для веб приложений на webGL.

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

Sigrlami
() автор топика
Ответ на: комментарий от quasimoto

Gtk и Qt отрисовывают графику на стороне клиента с зари времён, разве что раньше с помощью OpenGL'я не разгонялись.

zavok
()

Если все свое, то как это рисуется на OpenGl и навешиваются обработчики?

Открой их код - там лапша из glBegin/glEnd написанная на Си. Координаты ловить не обязательно. Нужно просто реализовать выбора объектов и их уведомления об этом (SelectBuffer, RayPicking и пр. - как тебе удобнее). От этого потом и пляшется. Дальше все точно также, как если бы ты писал свои элементы управления для Qt/GTK+, используя их функции отрисовки.

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

лапша из glBegin/glEnd

И эти люди работают с 3d.

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