Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Ландшафт   Найти похожие ветки 

 
Signate ©   (2005-09-22 15:18) [0]

Есть трехменый ландшафт, который состоит из n поверхностей...
например камень, снег, трава, песок... как сделать плавные переходы между  этими текстурами?


 
Zeqfreed ©   (2005-09-22 15:43) [1]

Signate ©   (22.09.05 15:18)

> как сделать плавные переходы между  этими текстурами?

Использовать альфа-канал для текстур и соответствующие флаги при создании оных?

p.s. Думаю, эта статья будет полезной: http://mirgames.ru/article/gamedev/aigame


 
Signate ©   (2005-09-22 15:58) [2]

Хорошая статья... помню читал ее на ai.extractor.ru

Вот как в OpenGL задавать прозрачность вертексам чтоли... ? (судя по статье)


 
Zeqfreed ©   (2005-09-22 17:30) [3]

Signate ©   (22.09.05 15:58) [2]
Если опираться на подход, описанный в статье, то да, при отриисовке очередной вершины для неё необходимо задавать вычисленную прозрачность. Но, в принципе, можно создать текстуры с альфа-каналом и накладывать их друг на друга.


 
Signate ©   (2005-09-22 18:12) [4]

сделал такой тест

     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);


 
XProger ©   (2005-09-22 18:15) [5]

Signate,
1) Какой режим блендинга?
2) Почему не glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE)?


 
Signate ©   (2005-09-22 18:17) [6]


> 1) Какой режим блендинга?

  glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);


> 2) Почему не glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
>  GL_MODULATE)?

Тогда текстура окрашивалась в rgb



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
2-1142366442
depo72
2006-03-14 23:00
2006.04.02
Зависает программа при выгрузке DLL


2-1142424719
HpeHoBuHa
2006-03-15 15:11
2006.04.02
MS Ёксель. Chart ы


1-1141130678
Stas77
2006-02-28 15:44
2006.04.02
перехват событий от мышки


15-1141404799
Nick Denry
2006-03-03 19:53
2006.04.02
А что вы будете делать


1-1141168205
markers
2006-03-01 02:10
2006.04.02
Canvas && ListBox