Посоветуйте что-нибудь пожалуйста, чем пользуетесь?
То что удалось нагуглить - слишком избыточное и большое, мне по существу нужна подсветка синтаксиса, форматирование и детект ошибок (хотя дополнительные возможности не помешают, но не за счет размера и ненужной перегрузки интерфейса).
MikeNew
Если что-то простое, то я старый добрый rendermonkey использую. Если что-то сложнее, то glsl для этого плохо если честно подходит. Взять хотя бы отсутствие инклюдов в стандарте.
Может быть я не правильный совет дам, но для себя я за два воскресных дня сконстролил свой редактор на основе SciLexer3.dll и dll своего любимого движка.
Плюсы в том, что делаешь, как тебе нравится, но и минусы тоже в этом. Всегда хочется чего-то подправить. Но скоро этот зуд устаканивается.
Повторюсь, что это дело на любителя.
А раньше использовал https://www.geeks3d.com/geexlab/ если разобраться (разобраться достаточно часа. в течении часа просто будешь запускать демки с https://www.shadertoy.com/view/MdlGW7) и текстовый редактор.
MrShoor
> Если что-то простое, то я старый добрый rendermonkey использую.
не выше sm3.0
> Если что-то сложнее, то glsl для этого плохо если честно подходит.
простую тесселяцию ?
VSCode с расширением вроде https://marketplace.visualstudio.com/items?itemName=slevesque.shader ?
GLoom
> VSCode с расширением
Когда я последний раз проверял, это расширение умело только подсветку синтаксиса для glsl, всякие фишки типа авто-дополнения только для hlsl.
Dimich
По этому я и написал "вроде". Там ещё куча всяких расширений, включая те что могут рендерить кубик с шейдером в окошке редактора для предпросмотра.
Нашел идеальное (для меня) решение, спешу поделится с вами, вдруг кому пригодится.
"Notepad++" + схема подсветки GLSL + плагин "nppexec"
Легковесно, все кастомизируется, подсветка скобок, колапс блоков, компиляция.. есть все что мне нужно, теперь наслаждаюсь. Очень рекомендую.
MikeNew
+
все дороги ведут к блокноту
какбы вот:
сайт: https://shadered.org
репозиторий: https://github.com/dfranx/SHADERed
MikeNew
> То что удалось нагуглить - слишком избыточное и большое, мне по существу нужна
> подсветка синтаксиса, форматирование и детект ошибок
У вижуал есть плагин на это.
Panur
> какбы вот:
Багучее Г.
> > https://github.com/dfranx/SHADERed
samrrr
> Багучее Г.
Да, я тоже пробовал, с оценкой согласен.
MrShoor
> отсутствие инклюдов в стандарте
не Vulkan? Там все компиляторы поддерживают include потому что в итоге все равно компилируется в промежуточный формат.
Поделюсь своим решением для написания и отладки шейдеров (GLSL/GL).
Для редактирования юзаю Sublime3 с подсветкой GLSL.
В проекте запилен небольшой класс-хелпер для отслеживания изменений в файлах, в классе самого шейдера добавлен reload.
При загрузке шейдера, он подписывается на изменения в файле-исходнике и делает релоад при изменениях. В случае ошибки - пишет в лог.
Таким образом, оружение выглядит примерно так: запущено приложение, открыт Sublime с кучей вкладок и студия с output. Правим шойдер в саблайме, периодически жмякаем ctrl+s, моментально видим изменения прямо в картинке. Ну или не видим, тогда смотрим в аутпут и пытаемся понять в чем проблема.
Дополнительно реализован механизм include в самой загрузке шейдеров. В этом случае он подписывается на изменения в нескольких файлах.
Также, сложился подход, когда в одном файле находятся шейдеры всех стейджей (vertex, fragment, ...). Разруливается это через препроцессор (#if/#else).
Если кому понадобится, могу выложить код мониторинга изменений в файлах (os-specific, под винду и макось).
Точно так же можно менять на лету модельки, текстуры и вообще любые ресурсы, которые можно релоадить.
Тема в архиве.