flint2
с++
Ну народ... Из простой задачи на пару строк (что и показано в первом же ответе) раздули мировую проблему. Ну тогда еще подключите базу данных, желательно обьектно-ориентированную. Что бы держать в ней не только шейдера а вообще все. Ну там текстуры, модели и т.п. ODBMS желательно выбрать с поддержкой сетевой модели, дабы сразу строить в ней иерархию доступа к ресурсам. Чё мелочиться то... На двух строках задачу любой дурак решит, а вы попробуйте из нее докторскую диссертация сделать!
san
sqlite мне хватит )))
signum7
>sqlite мне хватит )))
Не, это слишком просто. А как ты там будешь картинки хранить? Ну и злодей же может такую базу прочитать и сразу украдет все секреты! Всенемпеменно нужно хранить шейдера в зашифрованном виде. Что бы их туда засовывать нужна специальная утилита. Ее нужно написать на C++17 как минимум. Хотя в ОДБМС это можно сделать прямо на методе. Короче дерзай, нормальные герои всегда идут в обход!
san
signum7
> в одном файле все шейдеры удобнее чем несколько файлов согласись.
по какому параметру оно удобней? Исходники тоже все в одном файле? Если речь не о разработке и тебя волнует только как оно будет в окончательной версии для пользователя, то в обычный zip без сжатия достаточно всё закинуть.
Aroch
> по какому параметру оно удобней?
Он имел ввиду что шейдера относящиеся к одному конвейеру логично держать в одном файле, ибо они связаны. Если вертексный и пиксельный (а так же геометрический, тесселяционные и что там еще) лежат вместе, то их проще править. Но все это уже успешно решено в первом посте. Все остальное - флейм.
san
> Он имел ввиду что шейдера относящиеся к одному конвейеру логично держать в
> одном файле, ибо они связаны
почему не в одной папке? И в чем проблема переключится между файлами шейдера при редактировании, обычно это ровно один хот-кей либо клик мыши. При этом редактируя вершинный шейдер нет нужды постоянно переключаться в пиксельный, обратное также верно.
Aroch
> И в чем проблема переключится между файлами шейдера при редактировании, обычно это ровно один хот-кей либо клик мыши.
А в чем проблема есть второе из трех тарелок, в одной котлета, во второй гарнир, а в третьей горчица - это же одно движение вилки? Ну привыкли как-то. Если нужно добавить скажем в пиксельный шейдер еще одну переменную из вертексного, то не менять тарелки, а просто положить горчицу на котлету одним движением.
Можно так а можно этак. Просто кто к чему привык. Мне удобнее держать весь конвейер перед глазами. Нагляднее как-то. Думаю что signum7 тоже. У тебя все в мелкой расфасовке. Дело вкуса.
san
> А в чем проблема есть второе из трех тарелок, в одной котлета, во второй
> гарнир, а в третьей горчица - это же одно движение вилки?
угу и холодильник не нужен, и разная посуда для разной еды. Знаешь как называется когда всю жратву перемешивают?
> Если нужно добавить скажем в пиксельный шейдер еще одну переменную из
> вертексного, то не менять тарелки, а просто положить горчицу на котлету одним
> движением.
отличный пример, что лучше переключится на отдельный файл и в самом его начале сразу найти это место, или орудовать скролом пытаясь найти нужные строки где-то в середине?
> Можно так а можно этак. Просто кто к чему привык. Мне удобнее держать весь
> конвейер перед глазами. Нагляднее как-то.
так смех в том что ему приходится решать теперь обратную задачу, два действия против 0.
https://yadi.sk/d/p7zblCNFZn2kpA
signum7
Освежил ссылочку, сделал сжатие.
В принципе, всё должно быть интуитивно понятно.
Файлы перетаскиваем на форму, метки ставим кликом мышки между полем нумерации и полем фолдинга. При первом запуске их будет видно.
Кнопок вставки между соседними индексами и обмена индексов местами не стал делать - перебор (и иконок подходящих нет) )). Как не стал делать проигрыватель шейдеров, хотя логически, вроде, такой проигрыватель и вписался-бы.
Программку для винегретных файлов начну делать после обеда.
Кстати, есть чем проиграть шейдеры из программки?
обязательно сделай свою поддержку #include
сможешь выносить какие-то общие вещи отдельно и переиспользовать.
MAMOHT-92
> обязательно сделай свою поддержку #include
почему именно свою? Когда есть уже на уровне api.
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shadin… e_include.txt
Когда уже в шейдеры темплейты завезут.
signum7