Войти
ПрограммированиеФорумГрафика

Простой редактор GLSL

#0
6:08, 4 июня 2021

Посоветуйте что-нибудь пожалуйста, чем пользуетесь?

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

#1
6:40, 4 июня 2021

MikeNew
Если что-то простое, то я старый добрый rendermonkey использую. Если что-то сложнее, то glsl для этого плохо если честно подходит. Взять хотя бы отсутствие инклюдов в стандарте.

#2
9:03, 4 июня 2021

Может быть я не правильный совет дам, но для себя я за два воскресных дня сконстролил свой редактор на основе SciLexer3.dll и dll своего любимого движка.
Плюсы в том, что делаешь, как тебе нравится, но и минусы тоже в этом. Всегда хочется чего-то подправить. Но скоро этот зуд устаканивается.
Повторюсь, что это дело на любителя.
А раньше использовал https://www.geeks3d.com/geexlab/ если разобраться (разобраться достаточно часа. в течении часа просто будешь запускать демки с https://www.shadertoy.com/view/MdlGW7) и текстовый редактор.

#3
13:08, 4 июня 2021

MrShoor
> Если что-то простое, то я старый добрый rendermonkey использую.

не выше sm3.0

> Если что-то сложнее, то glsl для этого плохо если честно подходит.

простую тесселяцию ?

#4
17:55, 4 июня 2021

VSCode с расширением вроде https://marketplace.visualstudio.com/items?itemName=slevesque.shader ?

#5
18:08, 4 июня 2021

GLoom
> VSCode с расширением
Когда я последний раз проверял, это расширение умело только подсветку синтаксиса для glsl, всякие фишки типа авто-дополнения только для hlsl.

#6
18:14, 4 июня 2021

Dimich
По этому я и написал "вроде". Там ещё куча всяких расширений, включая те что могут рендерить кубик с шейдером в окошке редактора для предпросмотра.

#7
12:45, 5 июня 2021

Нашел идеальное (для меня) решение, спешу поделится с вами, вдруг кому пригодится.
"Notepad++" + схема подсветки GLSL + плагин "nppexec"

Легковесно, все кастомизируется, подсветка скобок, колапс блоков, компиляция.. есть все что мне нужно, теперь наслаждаюсь.  Очень рекомендую.

Изображение
#8
13:47, 5 июня 2021

MikeNew
+

#9
14:47, 5 июня 2021

все дороги ведут к блокноту

#10
8:35, 17 окт 2021

какбы вот:

+ Показать

сайт:  https://shadered.org
репозиторий:  https://github.com/dfranx/SHADERed

#11
13:32, 17 окт 2021

MikeNew
> То что удалось нагуглить - слишком избыточное и большое, мне по существу нужна
> подсветка синтаксиса, форматирование и детект ошибок
У вижуал есть плагин на это.

Panur
> какбы вот:
Багучее Г.

#12
14:12, 17 окт 2021

> > https://github.com/dfranx/SHADERed
samrrr
> Багучее Г.

Да, я тоже пробовал, с оценкой согласен.

#13
15:00, 17 окт 2021

MrShoor
> отсутствие инклюдов в стандарте
не Vulkan? Там все компиляторы поддерживают include потому что в итоге все равно компилируется в промежуточный формат.

#14
18:55, 17 окт 2021

Поделюсь своим решением для написания и отладки шейдеров (GLSL/GL).
Для редактирования юзаю Sublime3 с подсветкой GLSL.
В проекте запилен небольшой класс-хелпер для отслеживания изменений в файлах, в классе самого шейдера добавлен reload.
При загрузке шейдера, он подписывается на изменения в файле-исходнике и делает релоад при изменениях. В случае ошибки - пишет в лог.
Таким образом, оружение выглядит примерно так: запущено приложение, открыт Sublime с кучей вкладок и студия с output. Правим шойдер в саблайме, периодически жмякаем ctrl+s, моментально видим изменения прямо в картинке. Ну или не видим, тогда смотрим в аутпут и пытаемся понять в чем проблема.
Дополнительно реализован механизм include в самой загрузке шейдеров. В этом случае он подписывается на изменения в нескольких файлах.
Также, сложился подход, когда в одном файле находятся шейдеры всех стейджей (vertex, fragment, ...). Разруливается это через препроцессор (#if/#else).
Если кому понадобится, могу выложить код мониторинга изменений в файлах (os-specific, под винду и макось).
Точно так же можно менять на лету модельки, текстуры и вообще любые ресурсы, которые можно релоадить.
Изображение

ПрограммированиеФорумГрафика

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