Шейдер
Материал из xrWiki
(перенаправлено с «шейдер»)
Шейдер — это программа, выполняемая на видеочипе, определяющая окончательный вид трёхмерного объекта или двумерного изображения. Шейдеры условно типизируют по назначению:
- пиксельные – работают с текстурами. Отвечают за попиксельное освещение (те же бампы), постпроцессы и прочие интересные штуки.
- вершинные – работают с вершинами (вертексами) модели. Реализуют просчёт освещения, скиннинг персонажей, волны от травы и многое другое.
- геометрические – работают не только с отдельной вершиной, но и с целым примитивом (не в привычном представлении - например, кубиком, но отрезком или треугольником). На входе – один набор вершин, на выходе – другой.
- тесселяционные – делят большие треугольники на меньшие, таким образом сглаживая угловатость низкополигональной модели.
Существуют и другие шейдеры, но их в нашем движке нет.
В архивах игры шейдеры разбиты по отдельным папкам, соответственно целевой шейдерной модели:
- /r1/ - SM2.0 (DX9.0)
- /r2/ - SM3.0 (DX9.0c)
- /r3/ - SM4.0 (DX10), SM4.1 (DX10.1) – рендерер добавлен в X-Ray 1.5 (Чистое Небо)
- /r4/ - SM5.0 (DX11) – только в X-Ray 1.6 (Зов Припяти)
В фанатских модификациях движка могут быть и r5, r6 и так далее - для DX12, OpenGL и в перспективе чего угодно ещё.