private void render(TileEntityObj8 tile, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x, y, z);
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
if (tile != null) {
switch(tile.getBlockMetadata()) {
case 0:GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);break;
case 1:GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);break;
case 2:GL11.glRotatef(0F, 0.0F, 1.0F, 0.0F);break;
case 3:GL11.glRotatef(180F + 90F, 0.0F, 1.0F, 0.0F);break;
}
}
Minecraft.getMinecraft().renderEngine.bindTexture(texture1);
model.renderPart("jest2");
Minecraft.getMinecraft().renderEngine.bindTexture(texture)...
можно мне пример в коде так как я питался зделать з примера брони но получаеться ошибкаСгруппировать все полигоны по соответствующими текстурам
Простись по списку групп, биндить нужную текстуру, потом рисовать все полигоны из группы
GL11.glTranslatef(0.0F, 0.0F, 0.0F);Сгруппировать все полигоны по соответствующими текстурам
Простись по списку групп, биндить нужную текстуру, потом рисовать все полигоны из группы
В середине точно нужно?GL11.glPopMatrix();
та даже так всеравно...В середине точно нужно?
package timaxa007.obj_block.RenderTileEntity;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import timaxa007.obj_block.ModBlockObj;
import timaxa007.obj_block.TileEntity.TileEntityObj8;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class RenderTileEntityObj8 extends TileEntitySpecialRenderer {
public static final IModelCustom model =
AdvancedModelLoader.loadModel(new ResourceLocation(ModBlockObj.MODID, "obj/jest.obj"));
public static final ResourceLocation texture = new ResourceLocation(ModBlockObj.MODID, "textures/blocks/jest2.png");
public static final ResourceLocation texture1 = new ResourceLocation(ModBlockObj.MODID, "textures/blocks/jest1.png");
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) {
render((TileEntityObj8)tile, x, y, z, f);
}
private void render(TileEntityObj8 tile, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x, y, z);
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
if (tile != null) {
switch(tile.getBlockMetadata()) {
case 0:GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);break;
case 1:GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);break;
case 2:GL11.glRotatef(0F, 0.0F, 1.0F, 0.0F);break;
case 3:GL11.glRotatef(180F + 90F, 0.0F, 1.0F, 0.0F);break;
}
}
GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture1);
model.renderPart("jest2");
GL11.glPopMatrix();
}
{
GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderPart("jest1");
}
}
private void render(TileEntityObj8 tile, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x, y, z);
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
if (tile != null) {
switch(tile.getBlockMetadata()) {
case 0:GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);break;
case 1:GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);break;
case 2:GL11.glRotatef(0F, 0.0F, 1.0F, 0.0F);break;
case 3:GL11.glRotatef(180F + 90F, 0.0F, 1.0F, 0.0F);break;
}
}
Minecraft.getMinecraft().renderEngine.bindTexture(texture1);
model.renderPart("jest2");
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderPart("jest1");
GL11.glPopMatrix();
}