![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ландшафт [Delphi, OpenGL]
Signate © (2005-09-22 15:18:00)Есть трехменый ландшафт, который состоит из n поверхностей...
например камень, снег, трава, песок... как сделать плавные переходы между этими текстурами?
Signate (2005-09-22 18:17:00) [1]
> 1) Какой режим блендинга?
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
> 2) Почему не glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
> GL_MODULATE)?
Тогда текстура окрашивалась в rgb
XProger (2005-09-22 18:15:00) [2]Signate,
1) Какой режим блендинга?
2) Почему не glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE)?
Signate (2005-09-22 18:12:00) [3]сделал такой тест
SelectTexture(Tile1);
glBegin(GL_TRIANGLES);
glColor4f(r,g,b,0);
glTexCoord2f(0,1);
glVertex2f(0,0);
glColor4f(r,g,b,0);
glTexCoord2f(1,1);
glVertex2f(SW,0);
glColor4f(r,g,b,1);
glTexCoord2f(0,0);
glVertex2f(0,SH);
glColor4f(r,g,b,1);
glTexCoord2f(1,0);
glVertex2f(SW,SH);
glColor4f(r,g,b,1);
glTexCoord2f(0,0);
glVertex2f(0,SH);
glColor4f(r,g,b,0);
glTexCoord2f(1,1);
glVertex2f(SW,0);
glEnd;
SelectTexture(Tile2);
glBegin(GL_TRIANGLES);
glColor4f(r,g,b,1);
glTexCoord2f(0,1);
glVertex2f(0,0);
glColor4f(r,g,b,1);
glTexCoord2f(1,1);
glVertex2f(SW,0);
glColor4f(r,g,b,0);
glTexCoord2f(0,0);
glVertex2f(0,SH);
glColor4f(r,g,b,0);
glTexCoord2f(1,0);
glVertex2f(SW,SH);
glColor4f(r,g,b,0);
glTexCoord2f(0,0);
glVertex2f(0,SH);
glColor4f(r,g,b,1);
glTexCoord2f(1,1);
glVertex2f(SW,0);
glEnd;
текстура переходит одна в другую, но посередине (в центре перехода) четко видно засветление... с чем это может быть связано...?
r,g,b = 0 все текстуры с glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
Zeqfreed (2005-09-22 17:30:00) [4]Signate © (22.09.05 15:58) [2]
Если опираться на подход, описанный в статье, то да, при отриисовке очередной вершины для неё необходимо задавать вычисленную прозрачность. Но, в принципе, можно создать текстуры с альфа-каналом и накладывать их друг на друга.
Signate (2005-09-22 15:58:00) [5]Хорошая статья... помню читал ее на ai.extractor.ru
Вот как в OpenGL задавать прозрачность вертексам чтоли... ? (судя по статье)
Zeqfreed (2005-09-22 15:43:00) [6]Signate © (22.09.05 15:18)
> как сделать плавные переходы между этими текстурами?
Использовать альфа-канал для текстур и соответствующие флаги при создании оных?
p.s. Думаю, эта статья будет полезной: http://mirgames.ru/article/gamedev/aigame