[OpenGL] Przezroczysta tekstura zakrywa obiekt
Ostatnio zmodyfikowano 2013-09-15 21:22
Galfados Temat założony przez niniejszego użytkownika |
[OpenGL] Przezroczysta tekstura zakrywa obiekt » 2013-09-15 16:22:18 Witajcie mam problem, że tekstura (maski świetlnej) zakrywa mi teksture gracza: Kod odpowiedzialny za wyświetlanie: void Level::Display() { glPushMatrix(); glTranslatef( - camera.x, - camera.y, 0 ); map->Display( 0, 0 ); glPopMatrix(); player->Display(); glPushMatrix(); glTranslatef( - camera.x, - camera.y, 0 ); light_mask->Display( 0, 0 ); glPopMatrix(); }
Ładowanie OpenGL'a void Game::initOpenGL() { glMatrixMode( GL_PROJECTION ); glOrtho( 0, window_width, window_height, 0, 1, - 1 ); glMatrixMode( GL_MODELVIEW ); glDisable( GL_DEPTH_TEST ); glEnable( GL_BLEND ); glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); glEnable( GL_ALPHA_TEST ); }
To jest tak: http://s11.postimg.org/k5y4t539v/Zrzut_ekranu_z_2013_09_15_16_14_50.pngA gdy zmienię kod na to (gdzie indziej dam player->Display();) to postać wyświetla się normalnie ale mi zależy aby postać była pod maską świetlną bo chcę aby na niej też było światło. http://s21.postimg.org/uteofgk4n/Zrzut_ekranu_z_2013_09_15_16_16_15.pngvoid Level::Display() { glPushMatrix(); glTranslatef( - camera.x, - camera.y, 0 ); map->Display( 0, 0 ); glPopMatrix(); glPushMatrix(); glTranslatef( - camera.x, - camera.y, 0 ); light_mask->Display( 0, 0 ); glPopMatrix(); player->Display(); }
Jakieś sugestie? |
|
kubawal |
» 2013-09-15 19:31:41 Słyszałem, że tekstura z przeźroczystością(ta która jest przed obiektem) musi być zdefiniowana po teksturze bez przeźroczystości /edit: Tak, w mojej książce do OpenGL pisze: W pierwszej kolejności powinna być wywołana lista rysująca obiekt położony najdalej od obserwatora. (...) Tekstura z przeźroczystością znajdująca się najdalej obserwatora powinna być wywołana jako ostatnia
|
|
|
Galfados Temat założony przez niniejszego użytkownika |
» 2013-09-15 20:19:07 Można prosić o jakiś pseudo kod? :D |
|
kubawal |
» 2013-09-15 20:21:55 nałóż teksturę gracza; nałóż teksturę maski świetlnej;
??? 0_o |
|
Galfados Temat założony przez niniejszego użytkownika |
» 2013-09-15 21:22:41 Tak robię ;p Dziwne bo gdy wyświetlam inny obrazek to normalnie działa tak jak chcę.
EDIT: Problem rozwiązany nie chcę pisać jak go rozwiązałem bo wyjdę na bałwana xD |
|
« 1 » |