Показать сообщение отдельно
Старый 14.09.2009, 22:08   #5
aureli0
ПроЭктировщик
 
Регистрация: 19.03.2007
Сообщений: 134
Написано 10 полезных сообщений
(для 20 пользователей)
Re: SDL+Open GL загрузка участка текстуры

спасибо правда я сделал немного по другому, хотя в целом тоже самое:
//рисуем затекстурированый полигон из общей текстуры
void _DrawTXT (float W,//размеры всей текстуры
               float H,
               float t_x,//координаты верхнего левого угла в текстуре 
               float t_y,
               float t_dx,//размеры куска текстуры
               float t_dy, 

               float x,
               float y,
               float dX,
               float dY,
               float delta,//угол поворота
               int center)
 {
    glLoadIdentity();
    glTranslatef(x,y,0);   
    glRotatef(delta,0,0,-1); 
    if (center==1) {glTranslatef(-dX/2,-dY/2,0);}//смещаем по центре

    glBegin( GL_QUADS );
        // Верхний левый угол
        glTexCoord2f((t_x/W),(t_y/H));      glVertex2f( 0, 0 );
        //Нижний левый угол
        glTexCoord2f((t_x/W),((t_y+t_dy)/H));   glVertex2f( 0, dY );
        //Нижний правый угол
        glTexCoord2f(((t_x+t_dx)/W),((t_y+t_dy)/H));   glVertex2f( dX, dY );
        //Верхний правый угол
        glTexCoord2f(((t_x+t_dx)/W), (t_y/H) );   glVertex2f( dX, 0 );
    glEnd();

  glLoadIdentity();

 }
(Offline)
 
Ответить с цитированием