Я начинаю с программирования шейдеров GLSL и изучаю RenderMonkey . К сожалению, AMD больше не поддерживает это. Почему? Есть ли преемник?
Я начинаю с программирования шейдеров GLSL и изучаю RenderMonkey . К сожалению, AMD больше не поддерживает это. Почему? Есть ли преемник?
Большая часть этого ответа будет ответом на «Почему?» часть вашего вопроса, увы.
Ну, есть FX Composer от NVIDIA, который похож на этот продукт - он не поддерживает GLSL, но языки, которые он поддерживает, очень похожи. Но последний раз он обновлялся в 2009 году, и я не знаю никаких планов по его дальнейшему обновлению. Большинство высококачественных пакетов трехмерного моделирования также содержат инструменты конструирования материалов, которые могут поддерживать или не поддерживать GLSL.
Я думаю, причина, по которой вы видите, что эти продукты достигают конца срока службы (и ничто не может заменить их), заключается в том, что направление, в котором пошло развитие шейдеров, не подходит для таких обобщенных IDE, как эта.
Даже в те времена, когда у нас были только вершинные и пиксельные шейдеры, существовала сильная связь между форматами данных на стороне игры / движка (и тем, как обрабатываются эти данные) и входными раскладками и операциями шейдеров, запрограммированными в шейдерах - по крайней мере, для более интересных, сложных эффектов.
Рассмотрим, например, связанные с водой эффекты, которые часто включают незначительное деформирование геометрии в ответ на суммы синусоидальных волн (в дополнение к выполнению вычисления, которое суммирует аналогичные волны в текстуру, которая будет привязана к конвейеру в виде карты рельефа), так как а также необходимость копирования текстур кадрового буфера для привязки для имитации отражения и так далее. Большая часть этих данных поступает из процессора, а не встроена в сам шейдер.
По мере того как характер этой связи увеличивался (из-за увеличения параллелизма на стороне ЦП, что позволяет нам более равномерно распределять интересные вычисления между ЦП и ГП), становилось все труднее создавать шейдерную среду общего назначения общего назначения, поскольку эта среда также должен иметь возможность сценария и репликации конвейера данных, который игра собирается отправить в шейдер - по сути, это должен быть плагин для движка. Поскольку мы добавили дополнительные программируемые этапы в конвейер - геометрические шейдеры, шейдеры корпуса и так далее - это только усугубило проблему.
D3D пытался облегчить проблему с SAS , но я не думаю, что это когда-либо действительно завоевало популярность, и это, конечно, не масштабируется с достижениями в технологии GPU.
В результате появились специализированные внутренние или встроенные инструменты для построения шейдеров, а такие инструменты, как FX Composer и RenderMonkey, вышли из употребления и в конечном итоге были заброшены.
GLSL хакер. Это ваш ответ http://www.geeks3d.com/glslhacker/
источник