Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[OpenGL] multitexturing

Ostatnio zmodyfikowano 2012-12-23 21:39
Autor Wiadomość
Mrusio
Temat założony przez niniejszego użytkownika
[OpenGL] multitexturing
» 2012-12-23 20:01:59
Witam, na podstawie artykułu: http://3dgep.com/?p=1116
próbuję zrozumieć jak używając Vertex Array używać więcej niż jednej tekstury.

Przykładowo, renderuje sobie teren (terrain) złożony z "kafelków". Wszystkie współrzędne kafelków mam w Vertex Array. Teraz chciałbym je oteksturować, ale nie wiem w jaki sposób nałożyć na różne kafelki różne tekstury (np. pierwszy kafelek - tekstura trawy, drugi kafelek - tekstura śniegu). Nie potrafię zrozumieć jak robi to autor powyższego artykułu. Zrozumiałem, że w jakiś sposób miesza on tekstury razem z kolorami, przy czym kolor określa, która tekstura będzie widoczna. Czy ktoś jest w stanie mi to wytłumaczyć?

Druga sprawa:
C/C++
glActiveTexture( GL_TEXTURE0 );
glBindTexture( GL_TEXTURE_2D, tex1 );
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE );
glTexEnvi( GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_REPLACE );

glActiveTexture( GL_TEXTURE1 );
glBindTexture( GL_TEXTURE_2D, tex2 );

glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE );
glTexEnvi( GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE );

glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE0 );
glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR );

glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_TEXTURE1 );
glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR );

glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE2_RGB, GL_PRIMARY_COLOR );
glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_SRC_COLOR );

Jaka jest zasada działania powyższego kodu?
Rozumiem:
C/C++
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE ); //polecenie mieszania tekstur
glTexEnvi( GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE ); //polecenie mieszania według wzoru INTERPOLATE
Ale co dzieje się dalej...?
P-71781
DejaVu
» 2012-12-23 21:39:22
http://cpp0x.pl/kursy/Kurs-OpenGL-C++/Tekstury/233

Tu masz długi rozdział poświęcony teksturom, a więc powinieneś znaleźć informację jak działa multiteksturowanie. Niestety na jakieś inne porady zapewne będziesz musiał trochę poczekać, bowiem tematów dot. OpenGL-a było na forum u nas stosunkowo mało, a zatem są małe szanse, że ktoś podejmie trud rozpoznania Twojego problemu...
P-71804
« 1 »
  Strona 1 z 1