Вниз
Скачать: 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.029 c
2-1142837401
Федя
2006-03-20 09:50
2006.04.02
Дата и время на оси Х в Сhart ?


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


1-1140970826
JIurasdfsdf
2006-02-26 19:20
2006.04.02
Выделение элемента в Treeview


2-1142567121
alex111
2006-03-17 06:45
2006.04.02
Function из edit


2-1142862485
ViktorZ
2006-03-20 16:48
2006.04.02
Проверка на алиасы.




   Наверх