Полупрозрачный фон меню

Статус
В этой теме нельзя размещать новые ответы.
675
2
Доброго времени суток.

Нужно наложить на задний фон в меню полупрозрачную текстуру или просто затемнить его часть.
Не можете подсказать, какой метод нужно вызывать из Tessellator'а для этого дела? Я в OpenGL полный ноль :)
 
905
5
Код:
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

        render();
        
        GL11.glDisable(GL11.GL_BLEND);
Ну и рендерь.
 
675
2
laz2727 написал(а):
Код:
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

        render();
        
        GL11.glDisable(GL11.GL_BLEND);
Ну и рендерь.
Спасибо, сделал так:
Код:
private static final ResourceLocation darkScreen = new ResourceLocation("textures/gui/title/background/dark.png");

...
Код:
    private void dark(int par1, int par2, float par3)
    {
        Tessellator screen = Tessellator.instance;
        this.mc.getTextureManager().bindTexture(darkScreen);
        screen.startDrawingQuads();
        screen.addVertexWithUV(0.0D, 30, 0.0D, 0.0D, (double)(1F + (float)par1));
        screen.addVertexWithUV((double)this.width, 30, 0.0D, (double)1F , (double)(1F + (float)par1));
        screen.addVertexWithUV((double)this.width, 0.0D, 0.0D, (double)1F , (double)par1);
        screen.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, (double)par1);
        screen.draw();
    }
...
Код:
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        
        this.dark(par1, par2, par3);
        
        GL11.glDisable(GL11.GL_BLEND);
[merge_posts_bbcode]Добавлено: 30.03.2014 18:02:02[/merge_posts_bbcode]

А что можно прописать, чтобы двигать картинку по y? Т.е. ниже-выше или просто закрепить за нижнюю часть окна?
Код:
    private void dark(int par1)
    {
        Tessellator screen = Tessellator.instance;
        this.mc.getTextureManager().bindTexture(darkScreen);
        screen.startDrawingQuads();
        screen.addVertexWithUV(0.0D, 90, 0.0D, 0.0D, (double)(1F + (float)par1));
        screen.addVertexWithUV((double)this.width, 90, 0.0D, (double)1F , (double)(1F + (float)par1));
        screen.addVertexWithUV((double)this.width, 0.0D, 0.0D, (double)1F , (double)par1);
        screen.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, (double)par1);
        screen.draw();
    }
 
905
5
Двигай вертексы же. Вторая переменная в методе
Код:
addVertexWithUV
вроде.
 
675
2
laz2727 написал(а):
Двигай вертексы же. Вторая переменная в методе
Код:
addVertexWithUV
вроде.
Tessellator майновский как-то непонятно работает.
2 последних вертикса привязал к нижней грани окна.
Код:
        screen.addVertexWithUV((double)this.width, (double)this.height, 0.0D, (double)1F , (double)par1);
        screen.addVertexWithUV(0.0D, (double)this.height, 0.0D, 0.0D, (double)par1);

Тему можно закрывать
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху