8А Средства разработки шейдеров
«лучшего качества», «быстрый» и «очень быстрый»). Критерии для группировки эффектов полностью зависят от разработчика.
Узлы группировки эффектов объединяют всю информацию, необходимую для реализации визуального эффекта, формирование которого может происходить в несколько проходов. Начальное состояние эффекта унаследовано от эффекта по умолчанию, с его помощью задается какое-то известное начальное состояние для всех эффектов. Эффект по умолчанию можно использовать для хранения каких-либо данных, общих для всех эффектов.
Узлы проходов определяют операции рисования. Каждый проход наследует данные из предыдущих проходов, создающих этот эффект, а первый проход - из эффекта по умолчанию. Обычно проход состоит из пары «вершинный шейдер - фрагментный шейдер», блока состояния рендеринга, текстур, геометрических фигур и узлов других типов (например, узлов переменных). В этих проходах могут быть использованы различные геометрические фигуры, например, чтобы выполнять рендеринг эффекта меха.
В узлах переменных определяются параметры, доступные из шейдера. В языке шейдеров OpenGL узлы переменных - это механизм объявления uniform-переменных. Им можно назначать имена и типы, а содержимым узла переменных можно управлять через специальные графические элементы управления.
RenderMonkey полностью состоит из подключаемых модулей. Исходный код некоторых модулей находится в свободном доступе, к тому же для конкретных задач можно писать собственные модули, которые будут выполнять импорт и экспорт данных, работая с правильными форматами. Далее приведен список модулей RenderMonkey.
□ Редакторы шейдеров - интуитивный интерфейс смоделирован на примере Microsoft Visual Studio; поддерживают редактирование вершинных и фрагмент-ных шейдеров, подсветку синтаксиса, создание шейдеров на языках OpenGL, HLSL, ассемблера.
□ Редакторы переменных - параметры шейдера можно редактировать посредством графических элементов управления, вид которых зависит от типа данных редактируемого параметра; есть элементы для цвета, векторов, матриц, скалярных чисел; можно также создавать свои элементы управления.