Obrót o 90 stopni spritow w opengl
Ostatnio zmodyfikowano 2011-01-10 08:25
Savail Temat założony przez niniejszego użytkownika |
Obrót o 90 stopni spritow w opengl » 2011-01-09 20:55:10 Hej Moze ktos tworzyl gre 2D, gdzie napotkal wlasnie problem obracania spritow... Gdy obracam postac jakosc sprita znacznie sie zmniejsza(staje sie taki rozmazany :| :( :[ ). I wlasnie zastanawiam sie czy mozna ta postac obrocic w sposob nie pogarszajacy jej jakosci czy moze stworzyc oddzielne sprity dla ruchow w lewo i prawo? Jak wy to zrobiliscie piszac taka gre? oto kod wyswietlania sprita, w ktorym zawarta jest tez mozliwosc obrotu jesli rotate == true void Laduj::Draw( int tex_x, int tex_y, int tex_w, int tex_h, float pos_x, int pos_y, int zoom_x, int zoom_y, bool rotate, int tex_nr ) { glBindTexture( GL_TEXTURE_2D, texture[ tex_nr ] ); double right = tex_x / texture_w[ tex_nr ]; double left = right + tex_w / texture_w[ tex_nr ]; if( rotate == true ) { left = tex_x / texture_w[ tex_nr ]; right = left + tex_w / texture_w[ tex_nr ]; } double bottom = tex_y / texture_h[ tex_nr ]; double top = bottom - tex_h / texture_h[ tex_nr ]; glPushMatrix(); glBegin( GL_QUADS ); glColor3f( 1, 1, 1 ); glTexCoord2f( left, top ); glVertex2f( pos_x + zoom_x, pos_y ); glTexCoord2f( right, top ); glVertex2f( pos_x, pos_y ); glTexCoord2f( right, bottom ); glVertex2f( pos_x, pos_y + zoom_y ); glTexCoord2f( left, bottom ); glVertex2f( pos_x + zoom_x, pos_y + zoom_y ); glEnd(); glPopMatrix(); }
|
|
DejaVu |
» 2011-01-09 23:37:15 Zawsze na jakości się traci. Może antialiasing masz wyłączony. |
|
Savail Temat założony przez niniejszego użytkownika |
» 2011-01-10 08:25:20 ciekawa sprawa ten antialiasing. Poczytam o tym, dzieki |
|
« 1 » |