Hey there,
I just tried to use the Tessellator in a TileEntitySpecialRenderer and everytime I try to render something the texture is just too dark.
Here is my small testing TESR (This just draws the top side of a block):
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float p_147500_8_) {
GL11.glPushMatrix();
GL11.glTranslated(x, y, z);
bindTexture(TextureMap.locationBlocksTexture);
RenderBlocks render = new RenderBlocks(tile.getWorldObj());
Tessellator t = Tessellator.instance;
t.startDrawingQuads();
//makes no difference
//GL11.glEnable(GL11.GL_BLEND);
//GL11.glEnable(GL11.GL_LIGHTING);
//t.setBrightness(tile.getBlockType().getMixedBrightnessForBlock(tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord));
//t.setColorOpaque_F(1.0F, 1.0F, 1.0F);
//Just for testing purpose
IIcon icon = Blocks.glass.getBlockTextureFromSide(0);
float u = icon.getMinU();
float v = icon.getMinV();
float U = icon.getMaxU();
float V = icon.getMaxV();
t.addVertexWithUV(0, 1, 1, u, v);
t.addVertexWithUV(1, 1, 1, u, V);
t.addVertexWithUV(1, 1, 0, U, V);
t.addVertexWithUV(0, 1, 0, U, v);
t.draw();
GL11.glPopMatrix();
}
And my block:
public class BlockTest extends Block {
public BlockTest() {
super(Material.glass);
setCreativeTab(CreativeTabs.tabFood);
}
@Override
public TileEntity createTileEntity(World world, int metadata) {
return new TileTest();
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean hasTileEntity(int metadata) {
return true;
}
}
and the ingame result (my BlockTest and a vanilla glass block for comparison):
Thanks for helping me
Edit: I found the solution myslef. I had to use t.setNormal(0, 1, 0) to enable light