GL прозрачность

svk

1,185
3
Код:
        GL11.glPushMatrix();
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        float scale = 0.3F;
        int sizeTextureX = 128;
        int sizeTextureY = 128;
        Minecraft mc = Minecraft.getMinecraft();
        int xMid = 0;
        int yMid = 0;
        GL11.glScalef(scale, scale, 1);
        mc.renderEngine.bindTexture(new ResourceLocation(ModInfo.MODID, "textures/gui/PlayersBar.png"));
        int par1 = (int) (xMid / scale);
        int par2 = (int) (yMid / scale);
        int startPixX = 0;
        int startPixY = 0;
        int endPixX = sizeTextureX;
        int endPixY = sizeTextureY;
        float sizePixX = 1.0F/sizeTextureX;
        float sizePixY = 1.0F/sizeTextureY;
        Tessellator tessellator = Tessellator.instance;
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV((double)(par1 + 0), (double)(par2 + endPixY), (double)this.zLevel, (double)((float)(startPixX + 0) * sizePixX), (double)((float)(startPixY + endPixY) * sizePixY));
        tessellator.addVertexWithUV((double)(par1 + endPixX), (double)(par2 + endPixY), (double)this.zLevel, (double)((float)(startPixX + endPixX) * sizePixX), (double)((float)(startPixY + endPixY) * sizePixY));
        tessellator.addVertexWithUV((double)(par1 + endPixX), (double)(par2 + 0), (double)this.zLevel, (double)((float)(startPixX + endPixX) * sizePixX), (double)((float)(startPixY + 0) * sizePixY));
        tessellator.addVertexWithUV((double)(par1 + 0), (double)(par2 + 0), (double)this.zLevel, (double)((float)(startPixX + 0) * sizePixX), (double)((float)(startPixY + 0) * sizePixY));
        tessellator.draw();
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();

Не работает прозрачность. Разве эти строки не включают ёё?
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
 
Ну как нельзя? 0.5 - все нормально, полупрозрачно.
А если поставить после загрузки текстуры?
 
Ясно, просто я два раза рендерил и прозрачность визуально пропадала :D
 
Назад
Сверху