Какой лучший инструмент вы можете использовать, чтобы научиться программировать шейдеры?
Недавно я работал над DirectX 10, и я перехожу к DirectX 11 и Shader Model 5.0. В прошлом я написал несколько очень простых шейдеров, и я хочу расширить свои горизонты и перейти к более сложным шейдерам. Мой вопрос несколько раз:
-
Каков лучший инструмент для программирования шейдеров? Я использовал только визуальную студию и композитор SOME FX - читал: достаточно, чтобы открыть ее и посмотреть на нее.
-
Использует ли марка gfx-карты какой тип шейдеров вы можете запрограммировать?
- Причина, по которой я спрашиваю, заключается в том, что похоже, что у Nvidia есть лучшие инструменты, и ATI, похоже, отменила RenderMonkey. Кажется, я не вижу замены для этого? Я не прав?
-
Относительно того же вопроса, что и # 1, но можете ли вы использовать инструменты перекрестного поставщика, если вы только намереваетесь писать шейдеры DirectX, а не специфические для поставщика?
- Если вам нужно идти конкретным поставщиком, у Nvidia обычно есть лучшие инструменты? Мне очень хотелось бы ATI прямо сейчас, поскольку они кажутся лучшим ударом для доллара (и у меня есть плата AMD), но я не решаюсь, потому что в основном я использую свои gfx-карты для программирования.
Ответы
Ответ 1
Какова ваша конечная цель? Если вам просто хотелось узнать немного больше о затенении, или если вы художник или технический художник, то 1. FX Composer и RenderMonkey довольно хороши.
Если вы программист и хотите сделать графические движки, то 1. вы должны использовать текстовый редактор, потому что шейдер - это всего лишь небольшая часть графического движка. Прошедший определенный уровень сложности, шейдерные константы и определенные текстуры должны быть созданы "на лету" на языке, таком как С++.
два. Бренд видеокарты не влияет на то, какие шейдеры вы можете программировать сегодня.
три. Инструменты кросс-вендора прекрасны.
Хотя вы не рассматривали эту проблему в своем вопросе, я чувствую, что я должен упомянуть: не только шейдеры сегодня составляют лишь небольшую часть графического движка, но их роль будет уменьшаться в ближайшее время, когда фокус сдвинется, чтобы отложить работу до тех пор, пока "сообщение -процесса", используя "вычислить". Шейдер скоро типично выводит абстрактные термины, такие как альбедо и нормальный, а не цвет. Его значение для искусства будет снижаться.