LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [LabVIEW-прототип] часть 9

 , , ,


0

3

Интерактивная обучалка

https://streamable.com/dnhoy

Интерактивная инструкция по сборке факториала

https://streamable.com/h8dto

Меню из функций

Наконец допилил меню из функций. Программирование на Метапроге будет выглядеть примерно так:

https://streamable.com/xlprt

Кроме меню, давние читатели заметят сделанное по многочисленным просьбам увеличение размера шрифта на элементах блок-диагарммы и подсказках с 10 до 12.

Сама функция, считающая факториал, выглядит так:

https://i.postimg.cc/ZRzpHhnv/image.png

Полученный код корректно считает факториал 11 (10+1, как на схеме):

https://pastebin.com/pdbhKcey

Переключатель (он же switch)

https://streamable.com/vgn3w

https://pastebin.com/tuB9X00u

Чат-клиент

Перенос кода Метапрога «сам на себя» слишком затянулся. Зато есть практически готовый прототип на LabVIEW, с помощью которого скоро можно будет совместными усилиями вести разработку и переносить Метапрог «сам на себя». Над ним еще надо чуточку поработать, а пока что есть чат-клиент, как задел под сетевой функционал.

Версия 1.

http://e2tilsgo5s44hqmlwb4epwrjnh7ynvsckj2tl5duwdqbxg67chqpelad.onion/file/de...

Требования

1. Windows начиная с ХР с кириллической локализацией (иначе будут проблемы с кодировкой символов).

2. Для запуска скомпилированного ехе-файла бесплатный рантайм (32-битный):

https://download.ni.com/support/softlib/labview/labview_runtime/2013 SP1/Wind...

3. Для просмотра и редактирования диаграмм с кодом чат-клиента - LabVIEW начиная с 2013. Как кто его достанет - личное дело каждого, если жалко денег - на торрентах оно есть.

4. Tor Browser или Tor для подключения к серверу:

https://www.torproject.org/

Сам чат-клиент лицензирован под GNU GPL v3, подробности - по кнопке «Про программу».

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

Чего нет в этой части - есть в прошлых. Для того, чтобы понять идею Метарпога, не обязательно читать тысячи комментариев из всех тем. Необходимый минимум собран в заголовках тем. Читайте заголовки и ссылки в них. Кстати, обновляется только заголовок последней темы, если эта тема уже не последняя - она не обновляется. В более новых темах пункты FAQ могут обновляться и в случае расхождения действительна более новая версия.

11. Как выглядит факториал в графическом представлении?

https://i.postimg.cc/ZRzpHhnv/image.png (уже на Метапроге, а не Лабвью).

Прошлые темы:

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Metaprog: универсальная графическая среда программирования [в разработке] часть 4

Metaprog: универсальная графическая среда программирования [в разработке] часть 5

Metaprog: универсальная графическая среда программирования [в разработке] часть 6

Metaprog: универсальная графическая среда программирования [в разработке] часть 7

Metaprog: универсальная графическая среда программирования [в разработке] часть 8



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

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

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Только я бы порекомендовал тебе упячку оттуда убрать.

Зачем? Пусть будет. Дабы дурь каждого видна была. И моя в том числе, хоть она и не такая забористая, как у ТС с подпевалой.

rebforce
()

Одно достижение автору точно можно зачесть. Теперь у меня слово «диаграмма» в первую очередь ассоциируется с невнятной хераборой.

i-rinat, тизер огонь. Ждём и бросаем чепчики в воздух.

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

Прочитал как «с невнятной хабрахаброй».

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

Ждём

Мне кажется, трейлер был апогеем. Сделать что-то эпичнее уже вряд ли получится.

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

i-rinat ★★★★★
()
Ответ на: комментарий от liksys

Смотри чтобы не было подсознательного отторжения uml диаграмм, диаграмм таблиц в бд. Также в википедии, презентациях и лекциях диаграммы могут наглядно показать упрощённую модель чего-то сложного. И вообще, диаграммы давно нашли свою нишу в обучении и не думают её покидать. К тому же грамотная реализация может расширить сферы применения диаграмм.

Если кто-то ест суп вилкой - это не повод говорить, что вилка - это хрень. Проблема в сочетании, а не компонентах.

Я серьёзно считаю ТСа энтузиастом, который потихоньку пилит как может даже когда нету внимания со стороны.

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

Хоть ТС и плюётся от анрила, его блюпринты вполне позволяют пилить небольшие проекты с уникально! бизнес-логикой, не прикасаясь к плюсам. Вот только системные требования и сборка под линуксом убивают подход «легко установил и потыкал». Зато на венде всё делается тривиально. Я лично тыкал. Гарантирую, что при наличии идей и энтузиазма легко собирается что-то интересное. Если бы мой комп позволял пускать анрил, прямо сейчас показал бы, что «складывание диаграмм мышкой» может быть простым и результативным.

Страшно представить сколько человекочасов опытных С++ников было потрачено на одни только блюпринты. Сам анрильный движок по сложности создания уступает разве что кернелам, СУБДхам, ОСям, программ из НАСА... UE3 отличается от UE4 как php и python.

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

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

Не понимаю создателей блюпринтов адового размера в UE4 и прочих подобных системах. Неужели выучить скриптовый язык сложнее, чем разбираться в этих монстрах?

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

Неужели выучить скриптовый язык сложнее, чем разбираться в этих монстрах?

Это другой рынок. Здесь клиенты - не игроки, а игроделы, а их на порядки меньше, чем игроков. Объём рынка заставляет делать продукт, который удовлетворит всех, а не часть. Соответственно игровое «easy to learn, hard to master» здесь играет ключевую роль. Нужно, чтобы движок (и редакторы и всё сопутствующее ПО) был простым и удобным и для новичков (в том числе школоты, которая по множеству причин ещё не выучила ни одного ЯП (возраст, лень, неусидчивость...)), и для профессионалов, которым нужна большая гибкость и крутейшие игровые технологии.

Современные движки годятся для любых жанров (хотя меньше подходят для не очень денежных стратегий) и можно спокойно пилить на готовом движке игру в жанре, который был только что придуман/скомбинирован/улучшен тобою. Ранние версии анрила были сильно заточены под FPS, на 4-м спокойно запилили PUBG - апостола нового жанра-тренда.

И да, программа как одна большая диаграмма «гугл карты же удобны» - это идея ТСа, остальные адепты графического программироания склоняются к традиционным методам декомпозиции программы на модули в том или ином виде. Сам анрил навязывает «один класс - одна диаграмма или пара .h/.cpp». Есть наследование Актора и компоненты для него - такая декомпозиция одинаково работает что для С++, что для блюпринтов. При грамотном подходе диаграммы нагружают мозг не сильнее текста. А сильно большие диаграммы в анриле считаются говносхемами а-ля «функция на 2000 строк кода».

Я сам смотрю на схемы ТСа и ничего не понимаю. Так что когда skyviz будет допилен до смотрибельного состояния - мои схемы будут нагляднее схем ТСа.

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

когда skyviz будет допилен до смотрибельного состояния

Зачем?

Зачем схемы в UE4 нужны — понятно. Но зачем делать что-то отдельно стоящее?

i-rinat ★★★★★
()
Ответ на: комментарий от arturianec100

Циклы, за которые я назвал Unreal engine Urinal:

https://docs.unrealengine.com/Images/Engine/Blueprints/UserGuide/FlowControl/...

Черт побри, там надо ради цикла заводить целую локальную переменную counter! И там даже нарисовали отдельную схемку, чтобы было понятнее!

Для сравнения цикл на Лабвью:

https://i.postimg.cc/MHGbLyyN/while.png

На Метапроге:

https://i.postimg.cc/65N2KMQz/image.png

metaprog
() автор топика
Ответ на: комментарий от i-rinat

Зачем?

Несколько причин. Лично я хочу наработать себе практический опыт с Qt на конкретной задаче, а не побаловаться. А времени этому я уделяю мало и неравномерно. Зато не подвожу других, обещая «завтра то-то», а просто «when it's done».

Для меня диаграммы ТСа совсем не понятны. Тем не менее, можно сделать весьма наглядный дизайн. Тот же анрил для меня, в отличие от ТСа, является отличным примером. Я лично хочу поэкспериментировать с разными вариантами визуализации кода. А интерактивные узлы, которые реагируют на движение курсора, имеют бОльший потенциал, чем описывает ТС. Я лично хочу попробовать некоторые варианты. Однако мне комфортнее писать «сделал то-то», а не «будет то-то». Но из-за того, что уделяю мало времени, новостей почти нету.

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

Интерактивную обучалку видел?

Видел. Для меня совсем не наглядно. Когда дойду у себя, сделаю по-своему и гораздо нагляднее.

Циклы

Мне, знакомому со многими текстовыми ЯП, цикл в анриле гораздо нагляднее, цикл в лабвью и метапроге мне не понятен ни с первого взгляда, ни со второго.

В анриле есть и while, и for, и foreach. Свои названия для счётчиков просто необходимы для вложенных циклов. Лабвью и метапрог их поддерживают?

Для меня современные текстовые ЯП нагляднее, чем лабвью. Хочу сделать диаграммы, которые для меня в наглядности превзойдут эти текстовые ЯП. Хотя бы в нескольких задачах. А не объять сразу всё.

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

Чему это месиво может обучить? Где там, собственно, пример сборки факториала?

P.S. Мне аж страшно становится, что у меня с этим человеком могут быть не пять уровней общих знакомых (согласно «теории шести рукопожатий»), а всего, скажем, два.

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

Свои названия для счётчиков просто необходимы для вложенных циклов. Лабвью и метапрог их поддерживают?

Вложенные циклы - это цикл в цикле? Поддерживают. Переменные счетчиков в Метапроге задаются в трансляторе автоматом, их не нужно создавать вручную.

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

Мне, знакомому со многими текстовыми ЯП, цикл в анриле гораздо нагляднее, цикл в лабвью и метапроге мне не понятен ни с первого взгляда, ни со второго.

Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление

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

наработать себе практический опыт с Qt на конкретной задаче

В целом идея ясна.

А интерактивные узлы, которые реагируют на движение курсора, имеют бОльший потенциал, чем описывает ТС.

А если они ещё и двигаются, и под музыку, то… а-а, стоп. Ну да, точно.

i-rinat ★★★★★
()
Ответ на: комментарий от kostyarin_

Смеяться - это к Ринату. Кому абы поржать и лень обходить блокировки - те мне не нужны, по крайней мере сейчас.

Я вот, если надо, могу на заблоченные в Украине яндекс/мейлру/вк/одноклассники зайти. Если российский фаерволл еще не прокачали до уровня китайского, то и из РФ не будет проблемой зайти на streamable. По крайней мере, если ты гуру девелопмента под Линукс:)

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

Да ладно, говори уже прямо, что там полная фигня и тебе стрёмно показывать. ЛОР – сайт русскоязычный, но от его основной аудитории, даже несмотря на то, что здесь в треде в основном хохлы, ты пытаешься отгородиться всеми силами. Глупо делать вид, что это типа ничего не значит.

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

На самом деле это видео не отличается от прошлого, только дольше на пол минуты, ничего интересного.

Да я и прошлое не видел. Как будто бы мне охота ставить там что-то ради ничего. Фишка в том, что есть множество видео-хостингов, и выбора как такового ТС, как и для всего остального, не делал. Это его парадигма мысли, т.е. родить что-то стоящее он в принципе не может.

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

Блокировки - для дураков, умным людям они не проблема. А проекту нужны именно умные люди.

Дураки – это, кто тратит время в пустую, и потакает подобным.

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

Вкратце: тыканье по кнопкам (на кнопках надписи с ужасным шрифтом), на которые указывают красный квадрат размерами 5 на 5 пикселей, скорее всего при реальном использовании metaprog этот направляющий квадрат будет найти нелегкой задачей.

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

при реальном использовании metaprog этот направляющий квадрат будет найти нелегкой задачей

  • Ctrl+F
  • Ctrl+C
  • Ctrl-V
  • Ctrl-H
  • go to function definition
  • collapse/expand

Появяться ещё через пару тысяч лет. К тому моменту ТС будет походить на Денниса Ритчи, правда только седой бородой.

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

Как будто бы мне охота ставить там что-то ради ничего

Пишет чел, поставивший тор и лабвьюшный рантайм ради чатика. Раздвоение личности.

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

Тут все наоборот. Твой моск необратимо поврежден лабвью, и тебя охватил острый синдром утенка. Вот и не можешь нормальные языки изучить.

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

Ctrl+C

Уже два месяца есть через клик колесом мыши по элементу диаграммы.

Ctrl-V

~ по пустому месту на диаграмме.

go to function definition

Одним кликом по подфункции открывается ее диаграмма.

Ctrl+F

Ctrl-H

Эти фичи, если и нужны, то в совершенно новом смысле. Скажем, выделить кусок диаграммы и найти/заменить идентичные куски, если они есть. Но это уже намного позже, пока что не горит.

collapse/expand

А это с чем едят (в графике)? Если с зумом - то будет.

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

Пишет чел, поставивший тор и лабвьюшный рантайм ради чатика. Раздвоение личности.

«Если я наступил в говно раз, то и дальше в жизни должен наступать в говно, иначе я долбанутый» (с) Метапрог.

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

Уже два месяца есть через клик колесом мыши по элементу диаграммы.

М-м, посимвольное копирование…

~ по пустому месту на диаграмме.

А потом ещё и все 356 контактов ручками подсоединять часок другой.

Ctrl+F пока что не горит

Для хелловордов она и потом гореть не будет.

collapse/expand то будет

То же самое.

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

О. Похвально. Я пять тредов этого ждал. Ибо тут хотя бы идея понятна, хотя всё равно троллейбус из буханки хлеба.

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

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

Лично я хочу наработать себе практический опыт с Qt на конкретной задаче

А не хочешь попробовать сделать на Qt универсальный диаграммный движок-библиотеку, удобный для пользователя? Чтобы можно было располагать на поле узлы (вид узла переопределяется в потомке, но стандартные реализации вроде прямоугольника с секциями можно и в самой библиотеке предусмотреть), прикреплять связи, чтобы всё это двигалось (и двигалось согласованно), стрелкам назначать и убирать углы, графические хинты для выравнивания, как в Visual Paradigm?

Если такой сделать и сделать хорошо — на его базе можно будет сотворить кучу программ — хоть SkyViz, хоть метапрог, хоть UML, хоть ERD, хоть графы... да дофига всего можно сотворить. А то сколько я опенсорсных диаграммеров не смотрю, везде что-то недоделано. Потому, что все пилят свои узлы и связи.

Однако мне комфортнее писать «сделал то-то», а не «будет то-то».

Мне тоже. :)

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

Чисто для графов - есть много реализаций, на Qt и на других инструментах. Имхо, чисто для графов реализации вполне адекватные, хоть лично я очень мало тыкал. Если заявляете, что все они так себе - перечислите все, что пробовали и что не понравилось. Здесь только есть смысл исправить конкретный косяк/добавить конкретную фичу в конкретную готовую программу. И движков этих не один и не два.

Есть 9000 редакторов uml на всех популярных технологиях, мне на первый взгляд приглянулись MS Visio и кдеешный. Я не уверен, но многие KDE Applications требуют фреймворков, но спокойно работают на других DE/WM без огромного оверхеда.

Я уверен, что многие предметные области, берущие корни из теории графов имеют настолько много специфики, что работа с графами - это <30% объёма работы. Те же нейросети визуализируются графами и используют свои особые структуры данных для графов. Хотя я знаком с нейросетями очень поверхностно.

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

Это я ещё не поднимал такие философские вопросы как «критерии универсального движка» (а ведь при желании и фантазии можно натянуть любую предметную область из it на графы!), «универсальный движок на Qt - это оксюморон, ведь будет применим только в qt-based программах», «а вот универсальная программа на Qt - это другое дело».

удобный для пользователя

Удобной для пользователя может быть программа, но не движок сам по себе.

Потому, что все пилят свои узлы и связи.

Только Apple обладает властью принудить разработчиков к использованию конкретного движка. NIH синдром в опенсорсе ещё ярче выражен.

прикреплять связи, чтобы всё это двигалось (и двигалось согласованно), стрелкам назначать и убирать углы, графические хинты для выравнивания

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

И почему я так склонен писать длинные посты?

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

Чисто для графов - есть много реализаций

Нет, как раз «чисто графами» я не занимался, привёл их в качестве примера. А вот UML-диаграммы и ER-модели довелось щупать более серьёзно, особенно последние. Честно скажу, по обоим пунктам из опенсорсного не нашёл ничего даже близко приближающегося по удобству к проприетарному Visual Paradigm (написан на Java, официально поддерживается в Linux).

Есть 9000 редакторов uml на всех популярных технологиях, мне на первый взгляд приглянулись MS Visio и кдеешный

Ну с Visio понятно, а кдеешный — это какой, как называется? Может, я чего пропустил? По UML я щупал Umbrello и ArgoUML, по ER-моделям — Open System Architect, pgModeler и Database Modeller.

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

универсальный движок на Qt - это оксюморон, ведь будет применим только в qt-based программах

Тулкитонезависимую интерактивность вообще сделать проблематично. :))) Поэтому да, универсальность в пределах применения Qt.

Удобной для пользователя может быть программа, но не движок сам по себе.

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

Хотя если сводить вообще всё к прямоугольникам...

Всё к прямоугольникам — не так интересно, конечно. А вот со связями и динамикой уже интереснее. Хотя тут вопрос, как отслеживать прилепливание связей для фигур произвольной формы.

Только Apple обладает властью принудить разработчиков к использованию конкретного движка. NIH синдром в опенсорсе ещё ярче выражен.

Принуждать, конечно, дурная идея. А вот предложить удобное решение — почему бы и нет. Большинство прикладных программистов же свои GUI-тулкиты не пишут (а могли бы!), а используют готовые. Инструмент для диаграммирования — более узкое решение, но и ему может найтись применение не одно и не два.

Всё это есть у меня в планах.

И оно даже в случае успеха останется внутри отдельно взятого SkyViz. А тем временем в соседней теме человек спрашивает, чем в линуксе лучше всего ER-модели рисовать. Но дело добровольное, разумеется, хозяин-барин. :) Просто небольшое повышение абстрагированности задачи, мне кажется, повысило бы эффект на порядок.

И почему я так склонен писать длинные посты?

Это же хорошо. Поговорили, обменялись опытом.

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

Да, кдеешный - это Umbrello. Мне его возможностей хватает (хотя я не особо то занимаюсь UML). По мне так вполне зрелый, есть поддержка ER и какая-то кодогенерация, но базовая. Тем не менее, я уверен, что у многих людей есть особые требования к UML редактору.

Мне трудно даже представить, не то что реализовать, как должны развиваться редакторы UML и ER. Кроме разве что продвинутой кодогенерации, но это надо столько человекочасов чтобы кодогенерация работала со всеми популярными ЯП и фреймворками, что лучше уж писать ИИ-программиста. Объём работы сравним.

Всё к прямоугольникам — не так интересно, конечно.

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

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

В каждой предметной области свои связи. А в контексте «нарисовать» - прикрепить «связного» (линию, кривую...) к определённой точке полигона или к определённому отрезку:

Есть отрезок между точками А и Б. Линия связи «привязана» к точке С. Точку С всегда вычисляем: вектор В = Б - А, С = А + (В * distance). С делит АБ на отрезки 1:3 если distance = 0.25

Таким образом можно «привязать» линию к любой точке любой 2D фигуры. При этом линия будет корректно изменяться при любых операциях над этой фигурой (перемещение, масштабирование, отражение...) кроме удаления фигуры.

Да... Не зря для объяснения геометрии всегда используют графические схемы. Без графики в геометрии даже любой профессор может запутаться.

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

Да, кдеешный - это Umbrello.

Ну вот мне его не хватило. В том числе там и по графике есть вопросы. До кодогенерации я даже особо и не добрался, ибо UML был нужен сугубо для проекта (генерацию классов C++ я делал раньше в другом проекте из ArgoUML).

hobbit ★★★★★
()

... подумываю реально пописать компилятор шейдеров из блок-схем. Какой материал можно почитать по этому поводу кроме статей про хаскельный arrow и исходников языка faust?

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

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

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

компилятор шейдеров из блок-схем

Существует множество наколеночных реализаций. Также есть очень зрелые и серьёзные решения:

  • Blender. Весь ЛОР о нём знает.
  • Unreal Engine 4 в том числе имеет очень навороченные Blueprints именно для шейдеров. Компилирует шейдеры для винды, мака, линукса, андроида, айфона, webgl, плойки, хуана и нинтендо свитч. Сам редактор работает на винде, маке и линуксе. Проприетарщина, однако можно создать бесплатный аккаунт и спокойно скачать все исходники движка со всеми инструментами с гитхаба.
  • Куча аддонов для Unity. Проприетарщина, исходники закрыты.
  • Вполне могут быть и другие серьёзные решения, о которых я не знаю.

Надо заметить, что все серьёзные решения по тем или иным причинам не завязаны на популярный тулкит (Qt, GTK, WinForms...) а используют свой личный графический тулкит. Причин я не знаю. Сильно мешает «написать свою альтернативу на популярном тулките, поглядывая на исходники готового монстра».

Тем не менее, есть простые, но рабочие поделки на перечисленных мною популярных тулкитах. Лично я не вижу смысла делать ещё один когда есть blender, но «зачем я это делаю» принадлежит тебе. Чисто для обучения я предпочитаю писать то, что содержит минимум одну глобальную фичу, которой нигде нету. Как минимум не получится ни у кого слизать код этой фичи.

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

Редактор шейдеров вообще перпендикулярен среде для разработки программ общего назначения. Языки шейдеров имеют сишный синтаксис, но предназначены для работы на видеокарте, специально НЕ тьюринг полные и никогда не будут. Также ВСЯ роль шейдеров сводится к «посчитать вектора и матрицы». Здесь как раз появилась сильная потребность в визуальном конструировании шейдеров, но к сегодняшнему дню уже написали 9000 решений, blender - самый навороченный из опенсорсных. В отрыве от игр, визуализации архитектуры, AR, VR никому не нужны.

Точно, без сохранения материалов в формате, читаемом игровыми движками ещё один редактор никому не нужен.

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

Точно, без сохранения материалов в формате, читаемом игровыми движками ещё один редактор никому не нужен.

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

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

Пусть хочет. Пусть и процессоры и GPU свои будет хотеть сделать. Зачем ограничивать полёт фантазии?

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

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

Пусть и процессоры и GPU свои будет хотеть сделать.

А тут я за обеими руками. Свободного железа в отличие от свободного софта кот наплакал. Сделает ли — другой вопрос.

Думаю, ему ещё стоит хотеть создать свою письменность, в графическом виде.

Да с письменностью у него, вроде, и так всё в порядке. Пишет куда грамотнее многих ЛОРовцев.

На этом фоне демонстративная нелюбовь к текстовым ЯП выглядит как-то подозрительно, кстати. На дислексию не похоже. Похоже на банальную лень и нежелание осваивать новые инструменты, если знакомые устраивают. Ну освоил он совочек для песка и считает, что если этот совочек промасштабировать до размеров экскаватора, то экскаватор будет не нужен. Или как говорил мой коллега, «ну живёт он в пяти измерениях и плевал он на первые три».

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

Теперь ТС захочет и свой игровой движок создать до кучи

Я уверен, он с самого начала хотел. Визуальное программирование в современных игровых движках устраивает всех кроме ТСа. Чтобы без полумер создать ЧТО-ЛИБО только в графике ему необходим метапрог со всеми необходимыми для ТСа плюшками. Пока он не допилит метапрог до состояния «не вижу в своём детище никаких изъянов» ТС не возьмётся за следующие амбициозные проекты.

И вообще, с такой скоростью наполнения треда ТС не успеет релизнуть прототип метапрога к концу этого треда. Многие из тех, кто недавно троллил ТСа уже замолчали. Так что сейчас благородное молчание поможет разработке метапрога.

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

Свободного железа в отличие от свободного софта кот наплакал.

Такие далеко идущие планы тоже есть и не раз упоминались в темах. Вот одна-единственная компания делает максимально открытое железо Опубликована полная спецификация смартфона Librem 5, но в ноутбуках у них процессоры Intel (хоть и с отключенным МЕ, но они и без МЕ - решето), тупо потому что открытых альтернатив нет (AMD тоже копирасты).

Сделает ли — другой вопрос.

Под это дело денежки нужны. Деньги мне интересны не как самоцель, а как средство. Вот ноют в комментах под новостью о первом опенсорсном смартфоне, что характеристики донные, а стоимость 700 баксов - и это на сайте, посвященном опенсорсу!

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

И вообще, с такой скоростью наполнения треда ТС не успеет релизнуть прототип метапрога к концу этого треда

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

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