glRotatef и летающий прямоугольник

Версия Minecraft
1.7.10
API
Forge
63
1
5
Не могу допереть как фиксить. Можете объяснить, пожалуйста, почему возникает такой эффект (текстура летает по миру из-за glRotate)??
Рендер:
public void renderTileEntity(TileEntity tile, double x, double y, double z, float w)
    {
        Tessellator tess = Tessellator.instance;
        Minecraft.getMinecraft().renderEngine.bindTexture(resourcesList.get(0));
        tess.setBrightness(tile.getBlockType().getMixedBrightnessForBlock(tile.getWorldObj(), (int)x, (int)y, (int)z));
        tess.setColorOpaque_F(1.0f, 1.0f, 1.0f);
        tess.startDrawingQuads();
        GL11.glEnable(GL11.GL_CULL_FACE);
        tess.addVertexWithUV(x, y + 0, z + 0.5, 1, 1);
        tess.addVertexWithUV(x, y + 2, z + 0.5, 1, 0);
        tess.addVertexWithUV(x + 1, y + 2, z + 0.5, 0, 0);
        tess.addVertexWithUV(x + 1, y + 0, z + 0.5, 0, 1);
        GL11.glDisable(GL11.GL_CULL_FACE);
        tess.draw();
    }

    @Override
    public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float w)
    {
        GL11.glPushMatrix();
        GL11.glRotatef(40, 0, 1, 0);
        renderTileEntity(tile, x, y, z, w);
        GL11.glPopMatrix();
    }
 
Последнее редактирование:
Решение
Тип такое надо, сразу перемещаешь на нужные координаты и там рисуешь вертексы смещая на нужные координаты
Java:
public void renderTileEntity(TileEntity tile, double x, double y, double z, float w)
    {
        Tessellator tess = Tessellator.instance;
        Minecraft.getMinecraft().renderEngine.bindTexture(resourcesList.get(0));
        tess.setBrightness(tile.getBlockType().getMixedBrightnessForBlock(tile.getWorldObj(), (int)x, (int)y, (int)z));
        tess.setColorOpaque_F(1.0f, 1.0f, 1.0f);
        tess.startDrawingQuads();
        GL11.glEnable(GL11.GL_CULL_FACE);
        tess.addVertexWithUV(0, 0, 0.5, 1, 1);
        tess.addVertexWithUV(0, 2, 0.5, 1, 0);
        tess.addVertexWithUV(1, 2, 0.5, 0, 0)...
250
12
24
Тип такое надо, сразу перемещаешь на нужные координаты и там рисуешь вертексы смещая на нужные координаты
Java:
public void renderTileEntity(TileEntity tile, double x, double y, double z, float w)
    {
        Tessellator tess = Tessellator.instance;
        Minecraft.getMinecraft().renderEngine.bindTexture(resourcesList.get(0));
        tess.setBrightness(tile.getBlockType().getMixedBrightnessForBlock(tile.getWorldObj(), (int)x, (int)y, (int)z));
        tess.setColorOpaque_F(1.0f, 1.0f, 1.0f);
        tess.startDrawingQuads();
        GL11.glEnable(GL11.GL_CULL_FACE);
        tess.addVertexWithUV(0, 0, 0.5, 1, 1);
        tess.addVertexWithUV(0, 2, 0.5, 1, 0);
        tess.addVertexWithUV(1, 2, 0.5, 0, 0);
        tess.addVertexWithUV(1, 0, 0.5, 0, 1);
        GL11.glDisable(GL11.GL_CULL_FACE);
        tess.draw();
    }

    @Override
    public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float w)
    {
        GL11.glPushMatrix();
        GL11.glTranslated(x,y,z);
        GL11.glRotatef(40, 0, 1, 0);
        renderTileEntity(tile, x, y, z, w);
        GL11.glPopMatrix();
    }
 
Сверху