![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вершинные шейдеры
nuflin © (2008-02-23 15:15:00)Насколько я понял вершинные шейдеры задают вершины то есть заменяют
glBegin(GL_TRIANGLES);
glVertex3f(1,0,0);
glVertex3f(0,1,0);
glVertex3f(1,1,0);
glEnd();
а перемешать полигоны с помощью шейдеров можно?
@!!ex (2008-02-25 12:14:00) [1]Кстати, для создания и редактирования шейдеров рекомендую пользоваться Render MOnkey
@!!ex (2008-02-25 11:28:00) [2]> [4] nuflin (24.02.08 15:00)
Как это нилогично, но tangent'e хранится тангет, в нормали - нормаль, а в бинормали - бинормаль..... :)))
На шейдер идти смотрть влом, но есть основания полагать, что там бамп...
nuflin (2008-02-24 16:58:00) [3]всё , сам разобрался
nuflin (2008-02-24 15:00:00) [4]влглините на исходник сшейдером
www.delphisources.ru/pages/sources/graph/2007_year/igrodel_shaders.html
в каких переменных хранятся координаты шейдера?
(пробовал менять shader_tangent: glInt; shader_normal: glInt; shader_binormal: glInt;
но координаты не поменялись)
@!!ex (2008-02-23 15:40:00) [5]> [2] nuflin (23.02.08 15:37)
Как шейдер напишешь, так и обратывает.
Кстати, перемещать вершины с помощью шейдера можно.
nuflin (2008-02-23 15:37:00) [6]Тогда как он обрабатывает вершины что именно он делает?
@!!ex (2008-02-23 15:27:00) [7]Вершинные шейдеры НЕ заменяют указанный код.
Вершинный шейдер ВЫЗЫВАЕТСя для обработки каждой вершины.
тоесть идет примерно так:
glBegin(GL_TRIANGLES);
glVertex3f(1,0,0);
//здесь отрабатывает вершинный шейдер
glVertex3f(0,1,0);
//здесь отрабатывает вершинный шейдер
glVertex3f(1,1,0);
//здесь отрабатывает вершинный шейдер
//здесь отрабатывает фрагментный(пиксельный) шейдер, для всех фрагментов полика
glEnd;