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

Obrót o 90 stopni spritow w opengl

Ostatnio zmodyfikowano 2011-01-10 08:25
Autor Wiadomość
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
C/C++
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 ]; //-------bottom--------
    double left = right + tex_w / texture_w[ tex_nr ]; //left-------------right
    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 ]; //-------top------------
    //obrazek jest ladowany do gory nogami, stad wzor ----->
    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();
}
P-26385
DejaVu
» 2011-01-09 23:37:15
Zawsze na jakości się traci. Może antialiasing masz wyłączony.
P-26388
Savail
Temat założony przez niniejszego użytkownika
» 2011-01-10 08:25:20
ciekawa sprawa ten antialiasing. Poczytam o tym, dzieki
P-26399
« 1 »
  Strona 1 z 1