Растянуть задний план у гуи

476
9
39
Нужно растянуть заднюю картинку из 512х512 на 1920х1280. 
Код:
    public void drawBackground(){
          GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
          this.mc.getTextureManager().bindTexture(TextureTab);
          this.drawTexturedModalRect(0, 0, 10240, 5120, 1024, 512);
    }
Вопрос как это сделать, игрался с drawTexturedModalRect не помогло.
 
Agravaine написал(а):
Аргументы drawTexturedModalRect: x, y, u, v, width, height.
А растянуть хз как.
Он же сжимается как-то изображение 1920х1280 до 512х512, значит и растянуть можно.
 
Перед этим:
Код:
drawTexturedModalRect(0, 0, 0, 0, 512, 512);

Пишешь:
Код:
glScalef(1920f\512f, 1280f\512f, 1);
Потом матрицу откатить не забудь.
 
Oldestkon написал(а):
Перед этим:
Код:
drawTexturedModalRect(0, 0, 0, 0, 512, 512);

Пишешь:
Код:
glScalef(1920f\512f, 1280f\512f, 1);
Потом матрицу откатить не забудь.
Окей, обнулять научился, вот только увеличение идёт не картинки, а вообще всего гуи. О_о
 
Матрицу то откатить не забыл?
Код:
GL11.glPushMatrix();
glScalef(1920f\512f, 1280f\512f, 1);
drawTexturedModalRect(0, 0, 0, 0, 512, 512);
GL11.glPopMatrix();
Кстати, у меня на 1.7.2 drawTexturedModalRect дублировала изображение при высоте/ширине больше 256.
 
Asd73 написал(а):
Матрицу то откатить не забыл?
Код:
GL11.glPushMatrix();
glScalef(1920f\512f, 1280f\512f, 1);
drawTexturedModalRect(0, 0, 0, 0, 512, 512);
GL11.glPopMatrix();
Кстати, у меня на 1.7.2 drawTexturedModalRect дублировала изображение при высоте/ширине больше 256.
Я не про то, масштабируется интерфейс, а не задний фон.
Щя скрин кину.
FDkvSMtPO3A.jpg
 
Я не понял. Тебе нужно масштабировать интерфейс или задний фон?
Если задний фон, то код вида:

Код:
GL11.glPushMatrix();
glScalef(что-то там);
отрисовка чего угодно.
GL11.glPopMatrix();
Не изменит масштабирования остального интерфейса.
 
Нуу, я слегка упорот и слегка спать хочу, так что сорри за Омск.
 
Кстати, вот, как я сделал, оказываться всё пихать надо было в одно место.
Код:
    public void drawBackground(){
          GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
          GL11.glPushMatrix();
          this.mc.getTextureManager().bindTexture(TextureTab);
          GL11.glScalef(super.width/254f, super.height/256f, 1);
          this.drawTexturedModalRect(0, 0, 10240, 5120, 1024, 512);
          GL11.glPopMatrix();
    }
 
talosdx написал(а):
Кстати, вот, как я сделал, оказываться всё пихать надо было в одно место.
Код:
    public void drawBackground(){
          GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
          GL11.glPushMatrix();
          this.mc.getTextureManager().bindTexture(TextureTab);
          GL11.glScalef(super.width/254f, super.height/256f, 1);
          this.drawTexturedModalRect(0, 0, 10240, 5120, 1024, 512);
          GL11.glPopMatrix();
    }
Мне одному кажется, что this можно и не юзать?
 
Назад
Сверху