Войти
ПрограммированиеФорумГрафика

Текстурирование ландшафта (смешивание текстур) OpenGL - пост N 36 (3 стр)

Страницы: 1 2 3 4 5 Следующая »
#30
17:23, 7 апр 2008

Vel I
ну, я за проход до 6 слоев спокойно мешаю в шойдере, если на слой по проходу то да.

#31
17:34, 7 апр 2008

0r@ngE
А как мешаешь? Что то я вобще не понимаю.

#32
17:43, 7 апр 2008

Vel I
шойдером =)
каждый слой представляется текстурой и степенями прозрачности, которые загоняются в вертексные атрибуты ( простор для фантазии )
т.к. вертексные атрибуты автоматически являются varying ( тобишь интерполируются вдоль всего примитива ), то в фрагментном
шодере мы получим их интерполированные значения, остается сделать выборки из соотв. текстур и сложить их с учетом этих коеффициентов

ПРАВКА: очепятки

#33
17:46, 7 апр 2008

0r@ngE
Собсно тоже самое что и в моем методе но у меня веса слоев в текстуре а у тебя как вершинные атрибуты =)

#34
18:05, 7 апр 2008

0r@ngE
Ну щас помудохаюсь и как будут траблы отпишусь.

#35
18:30, 7 апр 2008

Такс, вроде с шейдерами разобрался немного. Как теперь мне смешать 2 текстуры, одна из которых альфа а другая карта детализации?

#36
18:57, 7 апр 2008
vec4 blend = texture2D(tex_blend,  vec2(gl_TexCoord[0]));
gl_FragColor = texture2D(tex_detail0,  vec2(gl_TexCoord[0])) * blend.r + 
                 texture2D(tex_detail1,  vec2(gl_TexCoord[0])) * blend.g + 
                 texture2D(tex_detail2,  vec2(gl_TexCoord[0])) * blend.b + 
                 texture2D(tex_detail3,  vec2(gl_TexCoord[0])) * blend.a;

смешает 4 текстуры по весам, которые находятся в текстуре tex_blend... сумма весов не должна быть больше 1.0 (проще говоря в текстуре не должно быть белого цвета)...

#37
18:59, 7 апр 2008

d.m.k
Щас попробую.

#38
19:19, 7 апр 2008

Класс! Покрайней мере в RenderMonkey все заработало.
Смешивание текстур | Текстурирование ландшафта (смешивание текстур) OpenGL - пост N 36

Вот тока почему альфа карта получается зеркальной? Я в пеинте Vel написал а получилось зеркально. И еще, как можно альфа составляющию редактировать
в графических редакторах?

#39
20:54, 7 апр 2008

В фотошопе можно рисовать в отдельном цветовом слое. Закладка CHANNELS, тыкаешь в глаз =) правой кнопкой и скрываешь не нужные каналы... рисуешь обычными инструментами

Зеркальной потому что координаты наверное не так наложены

#40
22:37, 7 апр 2008

Кстасти про текстуры вопросик есть у меня!
Как в OpenGL текстурами управлять (Двигать, вращать)
а то glTexCoord2f() только размеры, но а с glTexCoord3f() и glTexCoord4f() как работать с ними я незнаю!

#41
22:51, 7 апр 2008

Двигать легко. Допустим d меняется от 1 до 2 с шагом 0.1, пишешь glTexCoord2f(x, y + d) и все.

#42
13:32, 8 апр 2008

Sprayx
glMatrixMode( GL_TEXTURE );
и теперь все че хошь делай, токо не забудь вернуть назад =)

#43
13:34, 8 апр 2008

Vel I
> Вот тока почему альфа карта получается зеркальной?

в РендерМанки по дефолту D3D ориентация

#44
13:36, 8 апр 2008

Hedge
> Собсно тоже самое что и в моем методе но у меня веса слоев в текстуре а у тебя как вершинные атрибуты =)
я тоже сначала таким методом делал, но редактировать сие неудобно + так мало текстур мешать мона,
а при моем методе ( точнее Wolf'а ;) ) мы экономим на текстурных слотах --> мона больше текстур мешать в проход +
элементарно редактируется

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.