Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
4-1137279991
ArkaNN
2006-01-15 02:06
2006.04.02
Чтение ATIP компакт-диска


3-1139213746
diwww
2006-02-06 11:15
2006.04.02
Как наложить фильтр в delphi 2005?


2-1142873806
VAZMan
2006-03-20 19:56
2006.04.02
вывод информации


2-1142366442
depo72
2006-03-14 23:00
2006.04.02
Зависает программа при выгрузке DLL


15-1141920731
Nic
2006-03-09 19:12
2006.04.02
Окно ввода логина и пароля




   Наверх