vec3 normal=get_normal(gl_PositionIn[0].xyz,gl_PositionIn[1].xyz,gl_PositionIn[2].xyz);
return cross(p2-p0,p1-p0);
vec3 get_normal(vec3 p0,vec3 p1,vec3 p2)
#extension GL_EXT_geometry_shader4 : enable
ОК, сначала картинка:
Постоялец 13 ноя. 20101:29
Делись шейдерами теперь :)
Разобрался! Я ступил с нормалями. Вот результат:
Постоялец 13 ноя. 20100:58
Это три текстуры и нормали. Почему-то нормали как-то повернуты. Вроде на 45 градусов. Я их в геометрическом шейдере считаю, почему они не по осям, не пойму...
У меня вот что получается:
Постоялец 13 ноя. 20100:09
сверху koef1 = 0.2, koef2 = 15.0; снизу koef1 = 0.2, koef2 = 1.0
Надо просто правильно настроить. Запощу красивую картинку, чтоб совсем понятно было:
Ясно. Но по идее в том месте вообще только одна текстура должна участвовать, поскольку там довольно таки ровно.
Постоялецwww12 ноя. 201023:41
Текстурирование процедурального террайна (displacement mapping) (3 стр)
/ / / Текстурирование процедурального террайна (displacement mapping) (3 стр)
Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
Текстурирование процедурального террайна (displacement mapping) (3 стр) / Форум / Программирование игр / GameDev.ru Разработка игр
Комментариев нет:
Отправить комментарий