Какой лучший инструмент вы можете использовать, чтобы научиться программировать шейдеры?

Недавно я работал над 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. вы должны использовать текстовый редактор, потому что шейдер - это всего лишь небольшая часть графического движка. Прошедший определенный уровень сложности, шейдерные константы и определенные текстуры должны быть созданы "на лету" на языке, таком как С++.

два. Бренд видеокарты не влияет на то, какие шейдеры вы можете программировать сегодня.

три. Инструменты кросс-вендора прекрасны.

Хотя вы не рассматривали эту проблему в своем вопросе, я чувствую, что я должен упомянуть: не только шейдеры сегодня составляют лишь небольшую часть графического движка, но их роль будет уменьшаться в ближайшее время, когда фокус сдвинется, чтобы отложить работу до тех пор, пока "сообщение -процесса", используя "вычислить". Шейдер скоро типично выводит абстрактные термины, такие как альбедо и нормальный, а не цвет. Его значение для искусства будет снижаться.