-
Насколько я понял вершинные шейдеры задают вершины то есть заменяют glBegin(GL_TRIANGLES); glVertex3f(1,0,0); glVertex3f(0,1,0); glVertex3f(1,1,0); glEnd();
а перемешать полигоны с помощью шейдеров можно?
-
Вершинные шейдеры НЕ заменяют указанный код. Вершинный шейдер ВЫЗЫВАЕТСя для обработки каждой вершины. тоесть идет примерно так: glBegin(GL_TRIANGLES); glVertex3f(1,0,0); //здесь отрабатывает вершинный шейдер glVertex3f(0,1,0); //здесь отрабатывает вершинный шейдер glVertex3f(1,1,0); //здесь отрабатывает вершинный шейдер //здесь отрабатывает фрагментный(пиксельный) шейдер, для всех фрагментов полика glEnd;
-
Тогда как он обрабатывает вершины что именно он делает?
-
> [2] nuflin (23.02.08 15:37)
Как шейдер напишешь, так и обратывает.
Кстати, перемещать вершины с помощью шейдера можно.
-
влглините на исходник сшейдером www.delphisources.ru/pages/sources/graph/2007_year/igrodel_shaders.html
в каких переменных хранятся координаты шейдера? (пробовал менять shader_tangent: glInt; shader_normal: glInt; shader_binormal: glInt; но координаты не поменялись)
-
всё , сам разобрался
-
> [4] nuflin (24.02.08 15:00)
Как это нилогично, но tangent'e хранится тангет, в нормали - нормаль, а в бинормали - бинормаль..... :))) На шейдер идти смотрть влом, но есть основания полагать, что там бамп...
-
Кстати, для создания и редактирования шейдеров рекомендую пользоваться Render MOnkey
|