Материал - это то изображение, которое наносится на стену, простой материал может состоять из одной текстуры, сложный - из нескольних, наложенных друг на друга слоями или скомбинированных каким-либо ещё образом.
В Quake 3 материалы хранятся в папке scripts, в файлах с расширением .shader, хотя они не являются шейдерами в современном понимании этого слова.
Структура каждого материала имеет примерно такой вид:
textures/base_button/shootme2 //название материала { qer_editorimage textures/base_button/metal3_3_shootme.tga // текстура, которая отображается в редакторе, // эта сторока нужна тогда, когда название текстуры не совпадает с названием материала q3map_lightimage textures/base_button/shootme_glow.tga // q3map_surfacelight 1000 // Эта строка отвечает за силу свечения материала { // внутри материала существуют стейджи - уровни, разделенные такими фигурными скобками // каждый стейдж отвечает за слой материала map $lightmap rgbGen identity // в этом стейдже поверх остальных текстур накладывается текстуры лайтмапа (освещения) } { map textures/base_support/metal3_3.tga blendFunc GL_DST_COLOR GL_ZERO rgbGen identity // Основная текстура материала, она частично прозрачная, под ней просвечивает следующий слой } { map textures/base_button/shootme_glow.tga rgbGen wave sin 0.5 1.0 0 .3 blendFunc GL_ONE GL_ONE // нижняя тестура материала, она обладает свойством изменять интенсивость цвета по синусоидальному закону } }
В данной статье пока не будут расписаны все возможные параметры материалов, обращайтесь в Q3A Shader manual