Что для этого нужно?

Шейдера для ментал рея пишутся на С, при желании можно писать на C++, разницы нет. А так как азы программирования сейчас изучаются практически во всех технических (и не только технических) вузах, то минимальные знания чаще всего уже имеются, в крайнем случае, можно купить любую книгу по C++, после прочтения которой вы будете иметь представление о программировании. При этом глубоких знаний С и не требуется, более того не обязательно знать C++ (классы и тп), для написания шейдеров достаточно таких элементарных знаний, как что такое: функция, структура, переменная и указатель, для начала этого вполне хватит.

Если вы имеете какой-либо опыт программирования, это будет совсем не лишним.

Итак для написания шейдеров нам потребуется среда разработки, например, Mi-crosoft Visual Stu-dio.NET2003. Именно эту среду я бы рекомендовал всем начинающим, так Действительно мощное и удобное средство.

Подготовка и настройка проекта

Создаем новый проект File->New->Project.

Выбираем Win32 Console Project, задаем имя проекта, например,”my_mr_shaders”, и директорию, жмем ОК.

В Application Settings ставим опцию DLL, чуть ниже ставим Empty Project.

Жмем Finish.

Все, наш проект готов.

Теперь заходим в директорию нашего проекта и создаем там папку “include”. Идем в директорию, где установлена Maya “..\Maya7.0\devkit\mentalray\indude\” и копируем все файлы из этой директории в папку include нашего проекта. Эти заголовочные файлы обязательно нужны для проекта. В частности, для всех шейдеров нужен файл shader.h - в нем объявлены все функции и типы переменных, все же остальные файлы не обязательны для простых шейдеров, но лучше скопировать сразу все, чтобы потом не возникало проблем.

После чего создаем в нашем проекте папку lib, куда скопируем все содержимое папки “..\ Maya7.0\devkit\mentalray\lib\nt\”. Файл shader.lib обязателен для всех шейдеров, а файл mayabase. lib нужен только в том случае, если вы планируете писать шейдера, привязанные непосредственно к Maya, например, шейдер с использованием майского Light Linker’a. Если вы используете mayabase. lib, то ваш шейдер будет нуждаться в библиотеке

mayabase.dll при рендере.

Примечание. Все эти файлы можно не копировать в проект, а просто указать их местонахождение в проекте. Однако, скопировав эти файлы, в результате мы получаем локальную копию проекта, которая не зависит от местоположения Maya и вообще ее наличия на машине. Такой проект легко переносится, не теряя своей функциональности, например, вы сможете работать с этим проектом и дома, и на работе.

Создаем новый файл Fi le -> New- > File… типа *.срр, назовем его, например, my_con-stant. Теперь в нашем проекте появится новая закладка в свойствах проекта “C/C++”. Вот там и нужно будет кое-что подправить. Нужно еще немного настроить проект и подключить те файлы, которые мы копировали.

Для этого заходим в свойства проекта и в закладке C/C++->Additional Include Directories указываем “.\include” (если вы не копировали *.h файлы в проект, то укажите тут полный путь до “c:\Program Files\Alias\Maya7.0\devkit\mentalray\include”).


⇐ вернуться назад | | далее ⇒