Рисовать градиент Tessellator OpenGL

Версия Minecraft
1.12.2
12
1
Привет! Как мне можно реализовать градиент кнопки, есть вот такой код которое просто рисует прямоугольник полупрозрачный
Java:
                int min = this.left;
                int max = entryRight;
                GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
                GlStateManager.disableTexture2D();
                worldr.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR);
              
                worldr.pos(min + 1, slotTop + slotBuffer + 1, 0).tex(0, 1).color(0xFF27, 0xFF75, 0xFF237, 0xcb).endVertex();
                worldr.pos(max -1, slotTop + slotBuffer + 1, 0).tex(1, 1).color(0xFF27, 0xFF75, 0xFF237, 0xcb).endVertex();
                worldr.pos(max -1, slotTop              - 1, 0).tex(1, 0).color(0xFF27, 0xFF75, 0xFF237, 0xcb).endVertex();
                worldr.pos(min +1, slotTop              - 1, 0).tex(0, 0).color(0xFF00, 0xFF00, 0xFF00, 0xcb).endVertex();
                

                tess.draw();
                GlStateManager.enableTexture2D();
 

tox1cozZ

aka Agravaine
Модератор
7,130
455
2,152
Ему и нужен градиент, олло, какая текстура, чо ты несешь?)
Градиент - два цвета, плавно перетекающие друг в друга.
 
759
24
40
@GameStep, можешь сделать новый класс наследуя GuiButton (если у тебя его нету) и перенаследуй этот метод:
Java:
@Override
public void drawButton(Minecraft mc, int mouseX, int mouseY, float partialTicks) {
    if (visible) {
        super.drawButton(mc, mouseX, mouseY, partialTicks);
        
        drawGradientRect(x, y, x + width, y + height, 0x80FFFFFF, 0x80FF8080);
    }
}
Первый цвет - это цвет сверху, а второй - снизу. Цвет в этом методе идёт по такой схеме - AARRGGBB.
 
Сверху